做开发时,有遇到这样的需求 UILabel宽度自适应到指定宽的时候然后不再变宽,多于的以...显示。少于这个宽度时,自适用宽度。
1. 使用preferredMaxLayoutWidth
在使用preferredMaxLayoutWidth时需注意一下。preferredMaxLayoutWidth只有在 UILabel 设置成多行的时候才会起作用。如何我们只显示一行怎么办?
这时可以这样操作。
label.preferredMaxLayoutWidth = 60;
label.preferredMaxLayoutWidth = 60;
label.numberOfLines = 0;
make_mas
.........
make.height.mas_equalTo(14);
把label的高度固定成一行的高度就可以满足需求了。
2.使用SDAutoLayout.
setSingleLineAutoResizeWithMaxWidth