这个方法不仅可以设置Label行距,也可以设置自适应高度
代码语言:javascript复制 //创建UILabel
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(7, 5, TABLEVIEW_WIDTH - HEADIMGVIEW_HEIGHT - 20 - 24 - 20, 0)];
//自动换行
label.numberOfLines = 0;
//设置label内容宽度
CGFloat textWidth = 414;
//获取数据
NSString *text = model.content;
//创建NSMutableAttributedString实例,并将text传入
NSMutableAttributedString *attStr = [[NSMutableAttributedString alloc]initWithString:text];
//创建NSMutableParagraphStyle实例
NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc]init];
//设置行距
[style setLineSpacing:10.0f];
//判断内容长度是否大于Label内容宽度,如果不大于,则设置内容宽度为行宽(内容如果小于行宽,Label长度太短,如果Label有背景颜色,将影响布局效果)
NSInteger leng = textWidth;
if (attStr.length < textWidth) {
leng = attStr.length;
}
//根据给定长度与style设置attStr式样
[attStr addAttribute:NSParagraphStyleAttributeName value:style range:NSMakeRange(0, leng)];
//Label获取attStr式样
label.attributedText = attStr;
//Label自适应大小
[label sizeToFit];
//设置Label高度
label.height = label.frame.size.height;