在 UIStackView 中调整视图的大小以在运行时填充剩余的屏幕大小

Resize a view within a UIStackView to fill the remaining screen size at runtime

我的故事板上有以下设置:

UIScrollView
|- UIStackView
    |- View1
    |- View2
    |- View3
    |- View4

View1-4里面的一些内容是动态的,View2有一个按钮。如果单击此按钮,ScrollView 将滚动到一个偏移量,以便 View2 位于可见屏幕的顶部。 View2 的固定高度为 100。单击按钮并完成滚动后,我现在如何调整 View3 的大小,以便它填充屏幕的剩余部分,在所有设备上工作?我需要计算屏幕高度并减去 View2 的高度吗?或者有没有自动布局的精简方法?

您可以为 View3 的高度创建一个等于根视图高度的约束,常数为 -100。然后你可以简单地切换isActive这个约束,View3应该自动调整你想要的方式。