- UILabel 下使用Masonry無法換行 之 preferredMaxLayoutWidth
//初始化 UILabel
_shopDesLab = [[UILabel alloc] init];
_shopDesLab.numberOfLines = 0;
_shopDesLab.lineBreakMode = NSLineBreakByWordWrapping;
_shopDesLab.font = kFont;
//利用Masonry進(jìn)行約束
//有bug的寫法,文本超出行寬無法進(jìn)行換行
CGFloat height = @"根據(jù)字符串計(jì)算出Lable的準(zhǔn)確高度";
[_shopDesLab mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self);
make.left.right.equalTo(self);
make.height.offset(height);
}];
??注意:
經(jīng)過大佬們的指點(diǎn):需要設(shè)置'preferredMaxLayoutWidth'
preferredMaxLayoutWidth它的作用就是:在對(duì)Label添加約束布局的時(shí)候,如果文本超出preferredMaxLayoutWidth指定的行寬,Label就會(huì)流到下一行,增加Label的高度.
//無bug寫法
_shopDesLab.preferredMaxLayoutWidth = ([UIScreen mainScreen].bounds.size.width);
[_shopDesLab mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.shopNameLab.mas_bottom);
make.left.right.equalTo(self);
}];
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。