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

Dou*_*ith 22 objective-c uilabel ios autolayout nslayoutconstraint

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

[http://website.com/link/to/specific/story] [9m 42s]
Run Code Online (Sandbox Code Playgroud)

但是"计时器"UILabel改变了很多宽度.有时它只是12s例如,有时它是125h 32m 8s.有很多变化.我希望计时器UILabel占用所需的宽度和URL标签以占用其余部分.这意味着如果计时器更长,更短的URL等.

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

hyb*_*ttt 21

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

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

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


Sco*_*ets 11

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