我有一个UIView容器,它对超级视图有左/上/右约束。所以尺寸是动态的,除了高度。 它没有底部约束
此视图包含内容(标签等)。这些元素也有相互约束和超级视图(以证明其合理性)
Label1的
- > Label2.top:Label1.bottom(超级视图的左侧和右侧)
Label2的
- > Label3.top:Label2.bottom(超级视图的左侧和右侧)
LABEL3
等等。
标签具有动态尺寸,因此,我无法确定标签的高度。它使用属性字符串。因此,计算子视图rects不是解决方案
我想要实现的是考虑到约束来设置主容器的适当高度 我厌倦了谷歌搜索,我得到的是一些框架rect手动计算,这不适用于约束。
这是内部元素的约束:
self.view.addConstraint(NSLayoutConstraint(
item:self.view, attribute:.Trailing,
relatedBy:.Equal, toItem:label,
attribute:.Trailing, multiplier:1, constant:0))
// left
self.view.addConstraint(NSLayoutConstraint(
item: label, attribute:.Leading,
relatedBy:.Equal, toItem:self.view,
attribute:.Leading, multiplier:1, constant:0))
// Top
self.view.addConstraint(NSLayoutConstraint(
item:parentView, attribute: positionConstraint,
relatedBy:.Equal, toItem:label,
attribute:.Top, multiplier:1, constant:0))
请帮帮我!
答案 0 :(得分:0)
我刚刚在我正在构建的应用中遇到同样的问题。我使用了Storyboard编辑器,所以我对编程组件并不完全确定,但是如果在视图中的所有组件中添加垂直间距的约束,那么您只需要设置一个底部空间对视图内底部组件的约束。
http://cl.ly/image/2Y0y121s1e2V/download/Image%202014-11-19%20at%2013%3A59%3A15.png