一个UILabel不同部分显示不同颜色
Posted 小课桌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个UILabel不同部分显示不同颜色相关的知识,希望对你有一定的参考价值。
我们直接来看效果图吧:
需求:就是表格cell里面的状态Label,前面的“状态:”是黑色,后面的状态值是红色,他们在同一个Label上,怎么做呢?
解答:真的是会者不难,难者不会啊,使用富文本,轻松搞定。
费话不多说,直接上代码:
1 // 根据状态值合成富文本 2 - (NSMutableAttributedString *)getStateString:(NSString *)state{ 3 4 // 合成后的字符串 5 NSString *fullStr = [NSString stringWithFormat:@"状态:%@",state]; 6 7 // 状态值的Range 8 NSRange range = [fullStr rangeOfString:state]; 9 10 // 状态值显示的颜色 11 UIColor *color = [UIColor kt_colorWithHex:0xff1e00 andAlpha:1]; 12 13 // 将合成后的字符串转换为富文本 14 NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc] initWithString:fullStr]; 15 16 // 给对应的range添加属性 17 [attributedStr addAttributes:@{NSForegroundColorAttributeName:color} range:range]; 18 19 return attributedStr; 20 }
然后直接将富文本赋值给Label的attributedText
1 self.stateLabel.attributedText = [self getStateString:@"未接单"];
以上是关于一个UILabel不同部分显示不同颜色的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UILabel 中的不同字符串上显示两个单独的链接?