创建一个label , 想要自动换行代码如下
self.titleL.numberOfLines = 0;
可用masonry适配的时候,换行消失了(需求是字体居中 自动换行)
self.titleL.numberOfLines = 0;
__weak __typeof(&*self)weakSelf = self;
[self.titleL mas_makeConstraints:^(MASConstraintMaker *make) {
make.center.equalTo(weakSelf);
}];
解决办法
其实代码没有错误,只是因为,在用masonry适配的时候,label自适应,遇到多行的情况,label不知道应该显示多大的长度,所以这个时候你需要告诉他 你应该显示多长,当达到这个长度的时候,你需要换行操作
如下
//核心
self.titleL.preferredMaxLayoutWidth = (self.contentView.frame.size.width - 5 * 2);
[self.titleL setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisVertical];
self.titleL.numberOfLines = 0;
__weak __typeof(&*self)weakSelf = self;
[self.titleL mas_makeConstraints:^(MASConstraintMaker *make) {
make.center.equalTo(weakSelf);
}];