我有一个 UIView
,里面有 3 个 UIView
,我需要每个 UIView
都根据它的内容和在同时,父 View 应根据其 subview 更改其大小。但我遇到了这个问题:
我需要从第二列的高度开始的第一个 UIView
始终坚持其内容并将剩余空间留在列的末尾。换句话说,我想要的是第二列的第一个 UIView
缩小。
这是我的 IB,大于或等于
约束没有按我预期的那样工作(我突出显示了相关约束):
我试过更改优先级但没有任何效果,希望你能帮助我,谢谢。
编辑:我忘了显示每个 UIView
中发生的事情。图片可能存在也可能不存在,如果不存在,我将其删除并将 UIView
的高度责任“传递”给标签,仅此而已:
最佳答案
大于或等于约束将始终尽可能小,同时满足所有其他约束。所以在这种情况下它是正确的...
之所以正确,是因为您使用的标签将允许其框架超出其内容。
要解决此问题,您需要更改右侧两个标签上的content hugging priority
。
为此,选择标签并转到 Interface Builder 属性检查器中的测量部分。
在底部附近,您会看到“Content Hugging Priority”。将此的 vertical
值更改为 1000
(也称为必需)。
这将告诉标签保持其框架尽可能小以适应内容。因此,大于约束必须更高才能满足这一点。
关于ios - 大于或等于约束无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45214889/