ios - UILabel 的 NSLayoutConstraint 到 "grow"额外行

标签 ios objective-c uilabel nslayoutconstraint

我有一个 UILabel,我想对其进行设置,使其具有固定的宽度和可变的高度,这取决于它的 text 而不是它的 superView.

即如果 text 是“Hello World”。那么标签将是...

------------------------
|Hello World.          |
------------------------

并且如果 text 是“这是一些很长的文本,超过几行。”然后标签将是...

------------------------
|This is some very long|
|text that goes over   |
|several lines.        |
------------------------

我已经使用 NSLayoutConstraint 设置了固定宽度,并将 numberOfLines 设置为 0,但它只保持一个行高并用省略号连接文本。

我知道有一种叫做“contentResistance”的东西,但我不确定它的名字或如何使用它。

这可能吗?

最佳答案

您需要将标签的 preferredMaxLayoutWidth 设置为您的固定宽度。我不知道为什么它不能自己解决这个问题,因为你已经限制了一个宽度,但你去吧。

如果必须设置固定大小在自动布局世界中感觉不对(应该如此!),那么您可以在布局发生后 在 vi​​ewDidLayoutSubviews 中设置标签宽度的值。在这种情况下,请注意不要陷入使布局无效的无限循环。

关于ios - UILabel 的 NSLayoutConstraint 到 "grow"额外行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15276356/

相关文章:

objective-c - iOS 委托(delegate)命名约定 - 应该、将要、已完成

Objective-C Lion 全屏使用所有显示器

Objective-C 子类化和 future 兼容性

ios - 按钮上的标签,如何在 iOS7 中突出显示按下按钮时的文本?

ios - 如何在 UIScrollView 中临时隐藏非事件页面

ios - UITableView beginUpdates/endUpdates 使打字变慢

iphone - UITableViewCell - 如何使右侧 UILabel 截断而不是左侧截断?

iphone - 以编程方式移动 xib 文件中的 UILabel

ios - 如何使 UIBarButton 在禁用时不灰显?

ios - iOS 配置文件是否有最大尺寸?