如何根据它的内容增加XIB视图?

时间:2018-03-15 09:33:04

标签: ios uiview autolayout xib

设计时我有一个XIB这个大小:(宽:300,高:100)。它有3个标签,将根据其内容进行扩展。我只是加载XIB并将其添加到self.view。有没有办法可以在XIB增加时轻松增加UILabel视图高度?

我已成功根据内容增加UILabel秒。

我正在使用UILabel的自动布局。

约束&设置:

XIB查看: enter image description here

热门标签:

enter image description here

中心标签:

enter image description here

底部标签:

enter image description here

2 个答案:

答案 0 :(得分:0)

  • 选择最底部的标签或您认为将定义超级视图高度的标签。
  • 使用超级视图添加该标签的底部约束。
  • 如果您在xib文件中看到任何Missing Constraints错误,只需将Greater Than or Equal的底部约束关系更改为Equal

你很高兴。

答案 1 :(得分:0)

我找到了一些教程

  1. Self-sizing table view cell
  2. Autolayout, dynamically resize UILabel
  3. 我的摘要

    视图的布局需要遵循约束来决定他的布局。

    1. 尺寸
      宽度和高度
    2. 位置
      x轴和y轴位置
    3. UILabel' intrinsicSize可以决定他的Height财产。因此,autolayout需要明确指定PositionWidth。 在将text分配给UILabel后,请致电invalidateIntrinsicSize根据其内容重新确定其Height媒体资源。然后,如果他的父母观点(例如UITableViewCellUIView)需要根据他的孩子UILabel的身高来决定他的身高,那么他的父母就会看到他的父母的身高。根据他的孩子UILabel,身高将是动态的。

      也许他的父母UIView在致电setNeedsLayout后需要致电setNeedsUpdateConstraintsinvalidateIntrinsicSize