elj*_*jec 6 xcode interface-builder ios ios9
我正在开发iOS项目但是当我更新到iOS 9时,我在UILabels中遇到了多线问题.我正在使用Autolayout.
有谁知道如何在iOS 9中做到这一点?
我尝试了不同的方法,例如:
textLabel.lineBreakMode = UILineBreakModeWordWrap;
textLabel.numberOfLines = 0;
Run Code Online (Sandbox Code Playgroud)
(来自其他类似问题)但它没有用.
这是我显示多行的逻辑:
IB配置:
我以编程方式更新此值:
- (void)configureLabelsMaxLayoutWidth
{
[self.view layoutIfNeeded];
self.titleLabel.preferredMaxLayoutWidth = CGRectGetWidth(self.titleLabel.frame);
}
Run Code Online (Sandbox Code Playgroud)
我在viewWillAppear上调用此方法
通过设置numberOfLines为0您告诉标签为多行,但可能还有其他因素会禁用多行.你在使用autolayout吗?如果是这样,那么问题可能是标签Content Compression Resistance Priority太低,请尝试将其设置为Required或1000.
内容压缩阻力告诉视图引擎您的标签可以缩小的优先级.将其设置为必需会强制它不缩小.
在Interface Builder中,只需选择标签,点击Size Inspector(小标尺),然后将其更改为1000.

或者,在代码中,等价物将是:
[label setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisVertical];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3611 次 |
| 最近记录: |