zoukankan      html  css  js  c++  java
  • 一个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:@"未接单"];
  • 相关阅读:
    GeoServer发布PostGIS数据库中的栅格数据
    CMD查看端口占用情况
    css选择器命名推荐
    css书写顺序
    css中浮动相关
    动态规划算法
    KMP算法 字符串匹配
    Java 反射
    分治(Divide-and-Conquer(P))算法
    图 结构
  • 原文地址:https://www.cnblogs.com/panda1024/p/6124046.html
Copyright © 2011-2022 走看看