swift - 在 UIStackView 中调整 View 的大小以在运行时填充剩余的屏幕大小

标签 swift uiscrollview autolayout uistackview

我的 Storyboard上有以下设置:

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

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

最佳答案

您可以为 View3 的高度创建一个约束,该约束等于 Root View 高度,常数为 -100。然后,您只需在此约束上切换 isActive,View3 就会自动按照您想要的方式调整大小。

关于swift - 在 UIStackView 中调整 View 的大小以在运行时填充剩余的屏幕大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54077953/

相关文章:

ios - 如何防止 UIScrollView 在激活 iOS 13 上下文菜单时过度放大?

ios - 为什么模态呈现 View Controller 会破坏我的 TableView 中的自动布局?

cocoa - UIImageView 不会随图像调整大小

ios - 当没有足够的空间来使用自动布局显示全文时隐藏 UILabel

swift - func removing(Element) -> [T] {} 在 swift 集合上

ios - 具有混合类型(字符串和 NSMutableArray)的 swift 4 post 通知 userInfo

swift - 在 NSStackView 中设置 NSButton 大小

ios - 将所有手势从 UIView 转换为 Swift 上的 UIScrollView

swift - 如何将 UIScrollView 的 panGestureRecognizer 添加到 Gesture Recognizer Collection

ios - 以编程方式创建 UIScrollView