iOS设置UILabel行距实例

2021-10-29 14:13:52 浏览数 (1)

这个方法不仅可以设置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;  

0 人点赞