一个UILabel不同部分显示不同颜色

来源:互联网 发布:淘宝查询别人购买记录 编辑:程序博客网 时间:2024/05/20 20:05

我们直接来看效果图吧:

 

需求:就是表格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:@"未接单"];
0 0
原创粉丝点击