iOS设置UILabel行距实例详解手机开发

这个方法不仅可以设置Label行距,也可以设置自适应高度

    //创建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;  

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/app/5152.html

(0)
上一篇 2021年7月16日 23:37
下一篇 2021年7月16日 23:37

相关推荐

发表回复

登录后才能评论