效果图1

    private lazy var stackView : UIStackView = {
        var tempViewArr : [UILabel] = []
        var strArr = ["排名", "员工", "总业绩", "劳动业绩", "售卡业绩"]
        var tempColorArr : [UIColor] = [UIColor.red, UIColor.green, UIColor.yellow, UIColor.orange, UIColor.green]
        for i in 0 ..< 5{
            let lab = JYUIModel.creatLabe(text: strArr[i], font: UIFont.systemFont(ofSize: 12, weight: UIFont.Weight.regular), textColor: UIColor.init(hexString: "#666666"), textAlignment: NSTextAlignment.left)
//            lab.backgroundColor = tempColorArr[i]
            tempViewArr.append(lab)
        }
        let stackView = UIStackView(arrangedSubviews: tempViewArr)
        stackView.axis = NSLayoutConstraint.Axis.horizontal///内部横向排列方式
        stackView.alignment = UIStackView.Alignment.leading///内部布局对齐方式
        stackView.distribution = UIStackView.Distribution.fillEqually///子视图的高度或宽度保持一致

// stackView.spacing = 10///设置每个视图间隔
        stackView.translatesAutoresizingMaskIntoConstraints = false///使用布局
        return stackView
    }()

 

 

 

//效果图 2 第二个直接 外部控件和UIStackView 的内部空间对齐

    private lazy var stackView : UIStackView = {
        let stackView = UIStackView(arrangedSubviews: [numLabel, nameLabel, allAmountLabel, laborAmountLabel, sellCardAmountLabel])
        stackView.axis = NSLayoutConstraint.Axis.horizontal
        stackView.alignment = UIStackView.Alignment.leading
        stackView.distribution = UIStackView.Distribution.fillEqually
//        stackView.spacing = 10
        stackView.translatesAutoresizingMaskIntoConstraints = false
        return stackView
    }()

    private func configUI(){
        let vd:[String:UIView] = ["stackView":stackView,
                                  "heroIV":heroIV]
        contentView.backgroundColor = UIColor.white
        contentView.jy.addSubViews(vd)
        contentView.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "|-16-[stackView]-5-|", options: [], metrics: nil, views: vd))
        contentView.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-24-[stackView]-24-|", options: [], metrics: nil, views: vd))
        heroIV.centerYAnchor.constraint(equalTo: stackView.centerYAnchor).isActive = true
        heroIV.leadingAnchor.constraint(equalTo: numLabel.leadingAnchor, constant: 0).isActive = true
        contentView.bringSubviewToFront(heroIV)
    }

 

posted on 2020-09-15 14:05  懂事长qingzZ  阅读(850)  评论(0编辑  收藏  举报