答案 0 :(得分:3)
按比例填写'分发类型与内在内容大小一起使用。
因此,如果我们的垂直堆栈(高度说600)视图有2个视图,ViewA(内部内容高度200)和ViewB(内部内容高度100),堆栈视图将它们调整为ViewA(高度400)和ViewB(高度) 200)。
在IB中你看到的不是你得到的。 拖动以进行帧更改是没用的。只需运行该应用程序。
只有当子视图以某种方式获得内在/约束高度时,您才会看到预期的行为。
它在IB中的样子这里顶部堆栈视图的视图被限制为最小高度10和30,即比例1:4。
答案 1 :(得分:0)
您可以通过创建自定义视图来解决此问题
prod_dns
将UIView的类更改为CustomHeightView
所以在Controller中为UIViews创建一个插座
class CustomHeightView: UIView {
var height = 1.0
override public var intrinsicContentSize: CGSize {
return CGSize(width: 0.0, height: height)
}
}
然后在viewDidLoad中按照您希望的方式设置比例
@IBOutlet weak var header_one: CustomHeightView!
@IBOutlet weak var header_two: CustomHeightView!