iOS开发资料收集区

关于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])];

最终效果图


效果图
上一篇下一篇

猜你喜欢

热点阅读