使用autolayout管理子视图中UILabel的高度

时间:2014-03-01 13:27:45

标签: ios ios7 uilabel xcode5

使用Xcode 5,界面构建器和iOS 7开发。

在我的内容视图中,我有2个额外的子视图,一个在另一个之上。在上部子视图中,我有一个UILabel。当内容超过第一行时,我希望UILabel扩展高度,但我似乎无法获得UILabel的高度增加以增加子视图的高度,从而推动在主要内容视图下方的底部子视图。

此外,我认为内容视图需要某种约束来反映两个子视图的整体高度?

也许这个问题已经在某个地方得到了回答,但我到处都搜索过,似乎无法找到解决方案。

非常感谢任何帮助!提前谢谢。

1 个答案:

答案 0 :(得分:2)

要使用autolayout实现此目的,您需要执行几个步骤。

  1. 设置标签的布局约束。
  2. 以低优先级设置height约束。
  3. numberOfLines设置为0以允许多行文字。
  4. 为标签设置preferredMaxLayoutWidth
  5. 标签使用preferredMaxLayoutWidth来计算其高度。

      

    此属性会影响布局约束时标签的大小   适用于它。在布局期间,如果文本超出宽度   由此属性指定,附加文本将流向一个或   更多新线,从而增加标签的高度。

    另外,看看here