iOS:设置UILabel行距实例

来源:互联网 发布:群众 知乎 编辑:程序博客网 时间:2024/05/15 13:08
    //创建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;
这个方法不仅可以设置Label行距,也可以设置自适应高度
1 0