iOS 9中UILabel中的多行文本

前端之家收集整理的这篇文章主要介绍了iOS 9中UILabel中的多行文本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发iOS项目但是当我更新到iOS 9时,我在UILabels中遇到了多线问题.我正在使用Autolayout.

有谁知道如何在iOS 9中做到这一点?

我尝试了不同的方法,例如:

textLabel.lineBreakMode = UILineBreakModeWordWrap;
textLabel.numberOfLines = 0;

(来自其他类似问题)但它没有用.

这是我显示多行的逻辑:

IB配置:

我以编程方式更新此值:

- (void)configureLabelsMaxLayoutWidth
{
     [self.view layoutIfNeeded];
     self.titleLabel.preferredMaxLayoutWidth = CGRectGetWidth(self.titleLabel.frame);
}

我在viewWillAppear上调用方法

解决方法

通过将numberOfLines设置为0,您将告诉标签为多行,但可能还有其他因素会禁用多行.你在使用autolayout吗?如果是这样,那么问题可能是标签内容压缩阻力优先级太低,尝试将其设置为required或1000.

内容压缩阻力告诉视图引擎您的标签可以缩小的优先级.将其设置为必需会强制它不缩小.

在Interface Builder中,只需选择标签,点击Size Inspector(小标尺),然后将其更改为1000.

或者,在代码中,等价物将是:

[label setContentCompressionResistancePriority:UILayoutPriorityrequired forAxis:UILayoutConstraintAxisVertical];

猜你在找的iOS相关文章