UIlabel有一個(gè)屬性叫preferredMaxLayoutWidth,官方解釋是:
- // Support for constraint-based layout (auto layout)
- // If nonzero, this is used when determining -intrinsicContentSize for multiline labels
- //支持基于約束的布局(自動(dòng)布局)
- //如果非零,則在為多行標(biāo)簽確定-intrinsicContentSize時(shí)使用此方法
所以我們需要設(shè)置preferredMaxLayoutWidth = 指定寬,但是這樣并不會(huì)生效,因?yàn)閁Ilabel默認(rèn)不換行,這個(gè)屬性需要UILabel設(shè)置換行才可以生效,但是我們又需要限制在一行顯示,并且不換行
所以需要設(shè)置UIlabel的numberOfLines = 0,并限制UIlabel的高度,這樣既不會(huì)換行,又限制了最大寬度
self.name_lab.preferredMaxLayoutWidth = 170 * kScaleWidth;
self.name_lab.numberOfLines = 0;
self.name_lab.height = 20;