水平UIStackview的动态高度

时间:2017-12-27 07:03:04

标签: ios xib uistackview

我有一个水平StackView,分布为"同等填充"。它有3个标签。 我希望其中一个标签具有动态高度。 当我为该标签设置行数为0时,它最终会在运行时断开约束间距约束。

所有这些水平堆栈视图构成一个垂直堆栈视图。 我尝试为多线标签设置较低的垂直拥抱优先级和较高的阻力优先级

在XIB中它的行为也是如此

在更改行数之前  enter image description here

更改行数后 enter image description here

3 个答案:

答案 0 :(得分:1)

您无需设置Content Hugging和Compression抵抗属性即可达到此效果。

  1. 水平堆栈视图:设置对齐“填充”&分配“同等填写”

  2. 垂直堆栈视图:设置对齐“填充”&分发“填充”

  3. 将标签行设置为0。

  4. 设置垂直堆栈视图的顶部,底部,前导约束。

答案 1 :(得分:0)

设置UIStackView的所有约束。 根据UILabel文本高度

更新UIStackview高度约束常量值

答案 2 :(得分:0)

不是直接回答问题,而是关于如何控制UIStackView的动态高度。

  1. 垂直堆栈视图。使其不受高度限制,就像没有底部约束或没有高度约束一样。
  2. 内容(如视图)的高度是固定的。
  3. UIStackView的对齐和分发都会“填充”

现在显示或隐藏内容,然后Stactview高度将动态变化。