【发布时间】:2018-02-02 06:57:41
【问题描述】:
简短的版本是这样的:如果有足够的空间,我需要 UIView 的宽度为 50,如果没有,则为 0。我该怎么做?
现在是长版:
我有一个带有图标后跟标签的 UIView,理想情况下,视图看起来总是像 |-icon-label-|
但有时标签太长,必须给出一些东西。我需要图标完全消失(例如通过将其大小设置为零),而不是调整文本大小/截断文本或调整图标大小。
我希望通过以下方式实现这一目标:
- 将图标的水平压缩阻力设置为低于标准的值(例如 700)
- 在图标的宽度限制上设置可选的高优先级(例如 width=50,priority=900)
- 在图标的宽度限制上设置较低的优先级(宽度=0,优先级=800)
通过这种设置,我希望约束 #2 会随着标签变长而中断,而约束 #3 将用作合适的后备。然而,这显然不是自动布局的工作方式:图标视图只是稍微调整大小(缩小),但并没有完全消失。换句话说。约束 #3 被忽略。
必须有一个合理的方法来做到这一点?我错过了什么?
【问题讨论】:
标签: ios uiview autolayout ios-autolayout