如何在xcode 7.3.1升级后阻止UILabel截断

时间:2016-08-22 08:07:42

标签: ios xcode layout uilabel truncated

升级到xcode 7.3.1后,我的代码触发了臭名昭着的“首选最大布局宽度”#34;错误消息。我没有设法为早期的iOS版本修复它,所以我最终改变了"版本为"到" iOS 8.0及更高版本"并且错误消息消失了。它现在可以在iPad上构建并运行良好,但我的UILables仍然在iPhone模拟上被截断。

标签设置为"自动收缩:固定字体大小"。当我选择" autoshrink:最小字体大小"相反,字体变得太小,因为视野高度不会自动延长。我给了文本10行,但它只显示2行然后截断(它设置为"截断尾部")。如何才能看到iPhone上显示的全文?

1 个答案:

答案 0 :(得分:1)

标签尺寸不会手动增加,要么用顶部,前导和尾部给它约束,那么它会相应地增加标签的高度,或者你可以通过使用

CGSize preferedSize = CGSizeMake(maxWidthYouWant i.e. 320, MAX_FLOAT)
CGSize labelSize = [yourTextString
                    boundingRectWithSize:preferedSize
                    options:NSStringDrawingUsesLineFragmentOrigin
                    attributes:@{
                     NSFontAttributeName : [UIFont systemFontOfSize:14]
                    }
                    context:nil].size;

现在您可以使用labelSize.height更新标签的高度。