使用自动布局时,如何自动调整UILabel的大小

7

我正在使用自动布局(NSLayoutConsraint)创建一个xib。有没有一种方法可以使用sizeToFit或类似的东西来使UILabel适应其内容?

我尝试设置“大于等于x”的约束,并尝试将高度设置为低于此高度。但是,它不断覆盖高度属性。当您拥有NSLayoutConstraints时,sitToFit似乎不起作用。

如何使标签适当地调整大小?

3个回答

4
创建一个 width 和 height 约束的 IBOutlet,使用 `sizeToFit` 改变它们的 `constant` 属性,然后调用 `needsUpdateConstraints` 方法。

1
使用“大于约束”来设置UILabel的高度,并在viewDidLayoutSubviews中调用sizeToFit函数,这对我很有帮助。
我不需要调用needsUpdateConstraints函数。
您还需要将行数设置为0,以允许无限行或> 1以设置限制。
此外,需要设置preferredMaxLayoutWidth属性,该属性由界面构建器自动设置为视图的宽度。

0

你应该尝试降低高度约束的优先级。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接