是否可以使用autolayout和界面构建器进行单向大小匹配?
例如,我可能有两个标签。我不希望标签A比标签B大,我希望B具有其内在大小。但是使用“匹配高度/宽度”可能会导致大量文本增加A的大小,因此会增加B的大小。
答案 0 :(得分:1)
这样做的方法是有两个约束。
这将首先使用固定高度约束设置图像视图的高度,然后从图像视图的高度(相等高度)设置标签的高度。
通过这样做,标签不会随着文本的数量而增长。图像视图有效地固定了它的高度。
它不会使图像视图变得更大,因为这会与固定高度相矛盾。
编辑新问题
好的,为此,你会做同样的事情。在接口构建器中可能有点棘手,但是当我通过IB完成时,我无法确定约束中的item1
和item2
是什么。
你可以通过添加一行代码来轻松完成......
[theSuperview addConstraint:[NSLayoutConstraint constraintWithItem:labelA
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationEqual
toItem:labelB
attribute:NSLayoutAttributeHeight
multiplier:1.0
constant:0.0]];
这正是界面构建器约束的作用,但我不确定你是否可以分辨出item1和item2的方式。
这是你的“单向”平等高度属性。
编辑2
将来某个时间可能会有或可能没有更新,可能会让您在界面构建器中看到item1
和item2
。