关于UILabel与NSMutableAttributedStr
2016-09-10 本文已影响101人
Hiker5
最近遇到个需求,一个label里面,设置不同的字体颜色大小以及改变label里面的行间距,搜了一些,这里做个总结。
其实主要是用到了NSMutableAttributedString。NSAttributedString可以让我们使一个字符串显示的多样化。话不多说,上代码。
NSString *labelText = @"this is a label bababababababababababababababaabababababababaaabababaababababa";
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:labelText];
//获取string范围:this
NSRange rangeA = [labelText rangeOfString:@"this"];
//改变颜色:红色
[attributedString addAttribute:NSForegroundColorAttributeName value: [UIColor redColor] range:rangeA];
//改变字体大小
[attributedString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:30.0] range:rangeA];
//加下划线
[attributedString addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:rangeA];
//更改label的text的行间距
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
[paragraphStyle setLineSpacing:15.0];
[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [labelText length])];
最终效果图
效果图