swift:根据内部约束调整UIView高度

问题描述:

我有一个UIView容器,它对超级视图有左/顶/右限制。所以尺寸是动态的,除了高度。 它没有底部约束swift:根据内部约束调整UIView高度

此视图包含内容(标签等)。这些元素也有相对于彼此和所述超级视图约束(证明EM)

的Label1

- > Label2.top:Label1.bottom(+左和上海华的右侧)

Label2的

- > Label3.top:Label2.bottom(+左和上海华的右侧)

LABEL3

等。

标签有动态尺寸,所以我无法确定标签的高度是多少。它使用属性字符串。所以计算子视景rects是不是解决方案

我想实现的是设置适当的高度的主要容器考虑约束 我厌倦了谷歌搜索,我得到的是一些帧矩形手动计算,其中不工作有限制。

这是内部因素的制约:

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)) 

请帮助我!

我刚刚在我正在构建的应用程序中遇到同一问题。我使用的是Storyboard编辑器,所以我不完全确定编程组件,但是如果您在视图中的所有组件中为垂直间距添加约束,那么您只需在底部设置底部空间约束视图内的组件。

http://cl.ly/image/2Y0y121s1e2V/download/Image%202014-11-19%20at%2013%3A59%3A15.png