Swift 调整UIStackView中的视图大小,以在运行时填充剩余的屏幕大小
我的故事板上有以下设置:Swift 调整UIStackView中的视图大小,以在运行时填充剩余的屏幕大小,swift,uiscrollview,autolayout,uistackview,Swift,Uiscrollview,Autolayout,Uistackview,我的故事板上有以下设置: UIScrollView |- UIStackView |- View1 |- View2 |- View3 |- View4 View1-4中的某些内容是动态的,而View2有一个按钮。如果单击此按钮,ScrollView将滚动到偏移位置,以便View2位于可见屏幕的顶部。View2的固定已知高度为100。单击按钮并完成滚动后,我现在如何调整View3的大小,以便它填充屏幕的其余部分,在所有设备上工作?我是否需要计算屏幕高度并减去Vi
UIScrollView
|- UIStackView
|- View1
|- View2
|- View3
|- View4
View1-4中的某些内容是动态的,而View2有一个按钮。如果单击此按钮,ScrollView将滚动到偏移位置,以便View2位于可见屏幕的顶部。View2的固定已知高度为100。单击按钮并完成滚动后,我现在如何调整View3的大小,以便它填充屏幕的其余部分,在所有设备上工作?我是否需要计算屏幕高度并减去View2的高度?或者,自动布局是否有任何倾斜方式?您可以为View3的高度创建一个约束,该约束等于根视图高度,常数为-100。然后,您只需在该约束上切换isActive,View3就会自动调整其大小。我可以在IB中设置该约束值吗?很可能不是因为屏幕的高度对吧?我是否需要为约束创建一个出口并在viewDidLoad中设置值?如果UIViewController覆盖整个屏幕,则可以在IB中设置它,方法是使其与UIViewController的视图相等。如果更合适的话,还可以使其等于UIScrollView的高度。这取决于您的视图层次结构。您需要一个IBOutlet或normal属性来切换isActive。