我有一个子视图:
这是该视图的子类:
class MyView: UIView {
public init(){
super.init(frame: .zero)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
}
在我的主视图控制器上,我有一个 stackView:
如果我将单个视图添加到堆栈视图:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
generaRedView()
}
func generaRedView() {
let newView = MyView()
newView.backgroundColor = .red
stackView.addArrangedSubview(newView)
}
它看起来很好:
但是我在堆栈视图中添加了两个视图:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
generaRedView()
generaBlueView()
}
func generaRedView() {
let newView = MyView()
newView.backgroundColor = .red
stackView.addArrangedSubview(newView)
}
func generaBlueView() {
let newView = MyView()
newView.backgroundColor = .blue
stackView.addArrangedSubview(newView)
}
子视图被压缩:
我对你们的问题是如何让 stackView 尊重子视图的大小并增加堆栈视图的高度,以便子视图看起来正常而不压缩?
我会非常感谢你的帮助。