Xcode警告:Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0
Xcode警告:Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0
-
在Xcode6下开发时,使用autolayout的xib出现警告:Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0
-
原因:xcode6下默认开启自动设置UILabel的preferredMaxLayoutWidth 的属性,而自动的特性只支持iOS8,故导致这个警告,如果想兼容iOS7则需要消除。
-
解决方法:设置固定的preferredMaxLayoutWidth (勾选Explicit(其中如果label不是多行就不用勾选了,因为无效)如果只想支持iOS8就不要勾选了,动态的更加方便),如下图,并在代码中实时修改此属性(注:此属性只对多行的UILabel有效,即lines不为1,如果是1行的不需要修改)。
其他注意点:如果勾选了Explicit,如图:
- 此时使用函数动态计算label中文字内容的总高度不准确了
CGFloat textW = XMGScreenW - 2 * XMGCommonMargin;
CGFloat textH = [self.text boundingRectWithSize:CGSizeMake(textW, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:15]} context:nil].size.height;