zoukankan      html  css  js  c++  java
  • 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行的不需要修改)。

    参考:http://stackoverflow.com/questions/25398312/automatic-preferred-max-layout-width-is-not-available-on-ios-versions-prior-to-8

    其他注意点:如果勾选了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;
    

    勾选前后对比图 如下:

  • 相关阅读:
    Windows Phone 7 电话本相关的操作
    Windows CE 下判断 URL 地址是否有效
    cigarettes
    开灯问题
    日期计算
    小学生算术
    另一种阶乘问题
    鸡兔同笼
    笨小熊
    6174问题
  • 原文地址:https://www.cnblogs.com/KrystalNa/p/4867803.html
Copyright © 2011-2022 走看看