【发布时间】:2021-04-01 10:00:45
【问题描述】:
stackView
+------------+ +
| topView | height: 50 |
+------------+ |
| | |
| | | total height: 300
| bottomView | height: 250 |
| | |
| | |
+------------+ +
我想在 UIStackView (stackView) 中布局两个视图(topView 和 bottomView),条件如下:
-
stackView有一个高度(比如说 300) -
topView和bottomView的内在内容高度相同(假设为 50) -
topView应该以其固有的内容高度呈现(最多stackView的高度)(所以 50) -
bottomView应该占用剩余空间(所以 250) - 如果
topView的内在内容高度发生变化(假设为 100),则分布应为 100/200
UIStackView 的所有分发方式都无法涵盖这一点。
使用常量设置约束在这里没有帮助,因为 topView 的内在内容高度可能会改变。
所以我需要一些自动布局功能。我尝试设置不同的内容压缩阻力优先级和内容拥抱优先级。如果没有成功,我仍然觉得它们可以成为一个解决方案(如果我知道如何正确使用它们的话)。
这似乎不是一个复杂的问题,我找不到合适的 Auto Layout API。有什么提示吗?
【问题讨论】:
标签: swift autolayout uistackview intrinsic-content-size