UIStackView约束问题

private lazy var moreItemView: UIStackView = {
        let view = UIStackView()
        view.axis = .horizontal
        view.alignment = .center
        view.distribution = .fillEqually
        view.translatesAutoresizingMaskIntoConstraints = false
        view.isHidden = true
        return view
    }()

当你的StackView是这样的设置,然后addArrangedSubview添加子视图,会发现约束会出现问题
其实问题很简单,就是缺少高度了
如果您已经设置了stackView.distribution = .fillEqually或者view.axis = .horizontal这样的条件
你可以在addArrangedSubview之后,对子视图进行约束设置

itemView.snp.makeConstraints { make in
                make.height.equalTo(64)
            }

也是这样设置高度

let height = NSLayoutConstraint(item: textField1, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .height, multiplier: 1.0, constant: 40.0)
textField1.addConstraint = height

注意:垂直和水平stackview的概念是相同的,您需要使用高度和宽度。

你可能感兴趣的:(UIStackView约束问题)