zoukankan      html  css  js  c++  java
  • swift

    1. /// 创建单个热门项目itemView
        private func creatProcduceItemView(producrName: String , producePrice: String) -> UIView {
            let item = UIView()
            item.translatesAutoresizingMaskIntoConstraints = false
            let produceLab = JYBaseViewModel.creatLabe(text: producrName, font: UIFont.systemFont(ofSize: 16), textColor: UIColor.init(hexColor: "9B9B9B"))
            let priceLab = JYBaseViewModel.creatLabe(text: "¥ " + producePrice.decimalPointCount(), font: UIFont.systemFont(ofSize: 16), textColor: UIColor.init(hexColor: "9B9B9B"))
            item.addSubview(produceLab)
            item.addSubview(priceLab)
            let vd: [String: UIView] = ["produceLab": produceLab ,
                                        "priceLab": priceLab]
            item.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "|[produceLab]", options: [], metrics: nil, views: vd))
            item.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "[priceLab]|", options: [], metrics: nil, views: vd))
            item.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|[priceLab]|", options: [], metrics: nil, views: vd))
            item.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|[produceLab]|", options: [], metrics: nil, views: vd))
            return item
        }
    

      

      2.  /// 根据数组创建数量
        func setitemsBgViewSubViews(itemsArr : [String]){
            
            //添加之前移除所有 添加的控件
            itemsBgView.subviews.forEach({$0.removeFromSuperview()})
            
            /// 布局热门项目的view
            for (i, _) in itemsArr.enumerated(){
                
                let itemView = self.creatProcduceItemView(producrName: itemsArr[i], producePrice: "38.0")
                itemsBgView.addSubview(itemView)
                
                let vd: [String: UIView] = ["itemView": itemView]
                let metrics: [String: Any] = ["top": CGFloat(i) * 30]
                itemsBgView.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "|[itemView]|", options: [], metrics: nil, views: vd))
                itemsBgView.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-top-[itemView(30)]", options: [], metrics: metrics, views: vd))
                if i == itemsArr.count - 1 {
                    itemView.bottomAnchor.constraint(equalTo: itemsBgView.bottomAnchor).isActive = true
                }
            }
        }
    3. 父控件设置约束
    self.fastAddConstraints("|-24-[itemsBgView]-24-|", vd)
    
    注意:如果这里父控件是在scrollview 上, 这里宽度要自己设置为屏幕宽度
    self.fastAddConstraints("|-24-[itemsBgView(屏幕宽度)]-24-|", vd)
    

      

  • 相关阅读:
    html5+css3中的background: -moz-linear-gradient 用法 (转载)
    CentOS 安装Apache服务
    Linux 笔记
    CURL 笔记
    Spring Application Context文件没有提示功能解决方法
    LeetCode 389. Find the Difference
    LeetCode 104. Maximum Depth of Binary Tree
    LeetCode 520. Detect Capital
    LeetCode 448. Find All Numbers Disappeared in an Array
    LeetCode 136. Single Number
  • 原文地址:https://www.cnblogs.com/qingzZ/p/9909999.html
Copyright © 2011-2022 走看看