1.只設(shè)置約束寬度,不設(shè)置preferredMaxLayoutWidth 且numberOfLine = 0; UILable 高度正常,寬度顯示按照約束的寬度大小。
//1.只設(shè)置約束寬度,不設(shè)置preferredMaxLayoutWidth 且numberOfLine = 0;
_myLabel.text = @"在消除編譯警告的時候,發(fā)現(xiàn)一個叫做Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0,幾番探索終于發(fā)現(xiàn)是一個UILabel的";

image.png
2.只設(shè)置preferredMaxLayoutWidth,UILabel高度正常,寬度按照preferredMaxLayoutWidth寬度顯示。
//2.只設(shè)置preferredMaxLayoutWidth
_myLabel.preferredMaxLayoutWidth = 100;

image.png
3. 同時設(shè)置 preferrredMaxLayoutWidth 和 約束寬度(能計算出的)
- preferredMaxLayoutWidth < 約束的寬度時, 計算出的行高大約實際高度

image.png
2)preferredMaxLayoutWidth > 約束的寬度是,計算出的行高小于實際高度

image.png
總結(jié)
如果UILable的高度約束沒有設(shè)置,則UILabel的高度計算是有preferredMaxLayoutWidth計算來決定的, 但是并不影響控件的實際寬度