使用自动布局,如何在同一“线”上使两个标签的宽度动态变化(根据每个标签需要的宽度进行调整)?

时间:2013-10-19 19:27:48

标签: ios objective-c uilabel autolayout nslayoutconstraint

假设我有两个UILabel,一个是URL,一个是计时器:

[http://website.com/link/to/specific/story] [9m 42s]

但是“计时器”UILabel改变了很多宽度。有时它只是12s,有时它是125h 32m 8s。有很多变化。我希望计时器UILabel占用所需的宽度,并且的URL标签占用其余的。这意味着如果计时器更长,更短的网址等

如何在自动布局中执行此操作?最好是在Interface Builder?

2 个答案:

答案 0 :(得分:21)

您应该设置压缩阻力,URL标签必须具有较低的值;

将标签之间的水平间距设置为常量(例如零或默认值);

设置每个标签的宽度并选择“小于”或“大于”关系,这些值设置缩小/扩展视图的限制。

答案 1 :(得分:11)

这是压缩阻力变得重要的地方。由于URL标签需要首先缩小(为了容纳计时器标签的空间),URL标签的抗压缩性应该低于计时器标签的抗压性(当然,在水平方向上)。您可以在IB中轻松设置此属性。