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的概念是相同的,您需要使用高度和宽度。
网友评论