UILabel的preferredMaxLayoutWidth研究

1.只设置约束宽度,不设置preferredMaxLayoutWidth 且numberOfLine = 0; UILable 高度正常,宽度显示按照约束的宽度大小。

    //1.只设置约束宽度,不设置preferredMaxLayoutWidth 且numberOfLine = 0;
  _myLabel.text = @"在消除编译警告的时候,发现一个叫做Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0,几番探索终于发现是一个UILabel的";
UILabel的preferredMaxLayoutWidth研究_第1张图片
image.png

2.只设置preferredMaxLayoutWidth,UILabel高度正常,宽度按照preferredMaxLayoutWidth宽度显示。

 //2.只设置preferredMaxLayoutWidth
    _myLabel.preferredMaxLayoutWidth = 100;
UILabel的preferredMaxLayoutWidth研究_第2张图片
image.png

3. 同时设置 preferrredMaxLayoutWidth 和 约束宽度(能计算出的)

  1. preferredMaxLayoutWidth < 约束的宽度时, 计算出的行高大约实际高度
UILabel的preferredMaxLayoutWidth研究_第3张图片
image.png

2)preferredMaxLayoutWidth > 约束的宽度是,计算出的行高小于实际高度

UILabel的preferredMaxLayoutWidth研究_第4张图片
image.png

总结

如果UILable的高度约束没有设置,则UILabel的高度计算是有preferredMaxLayoutWidth计算来决定的, 但是并不影响控件的实际宽度

Demo地址:LFY_PreferredMaxLayoutWidth_Demo

你可能感兴趣的:(UILabel的preferredMaxLayoutWidth研究)