ios UILabel 中部分文字变色

最近做了个评论回复功能,要求用户名变色,找了下方法,总结下


代码部分1

结果部分:


结果部分1

UILabel 中间部分文字改变颜色方法


代码部分2

结果部分:

结果部分2

UILabel *contentStr = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 25)];

    NSString *userName=@"张三";

    NSString *replyUserName=@"李四";

    NSString *content=@"有机会看看了";

    NSString *string = [NSString stringWithFormat:@"%@:%@",userName,content];

    if (replyUserName.length != 0) {

      string = [NSString stringWithFormat:@"%@回复%@:%@",userName,replyUserName,content];

    }

    NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithString:string];

    [text addAttribute:NSForegroundColorAttributeName value:[UIColor  redColor] range:[string rangeOfString:userName]];

    if (replyUserName.length != 0) {

        [text addAttribute:NSForegroundColorAttributeName value:[UIColor  redColor] range:[string rangeOfString:replyUserName]];

    }

    contentStr.attributedText = text;

    [self.view addSubview:contentStr];

    UILabel *shifuLab = [[UILabel alloc] initWithFrame:CGRectMake(10, 200, 300, 25)];

    NSString *str1 = @"¥";

    long len1 = [str1 length];

    NSString *shuliangStr =[NSString stringWithFormat:@"共计%d件商品",1223423];

    long len2 = [shuliangStr length];

    NSString *str = [NSString stringWithFormat:@"¥%@    实付:%.2f元",shuliangStr,3434.00];

    NSMutableAttributedString *str2 = [[NSMutableAttributedString alloc]initWithString:str];

    [str2 addAttribute:NSForegroundColorAttributeName value:[UIColor  redColor] range:NSMakeRange(len1,len2)];

    [str2 addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:15.0f] range:NSMakeRange(len1,len2)];

    shifuLab.attributedText = str2;

    [self.view addSubview:shifuLab];


UILabel *coverLab = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 25)];

NSString *vipNumber=@"VIP会员";

    NSString *coverStr=[NSString stringWithFormat:@"尊敬的用户,该视频仅限 %@ 观看",vipNumber];

    NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithString:coverStr];

    [text addAttribute:NSForegroundColorAttributeName value:[UIColor  greenColor] range:[coverStr rangeOfString:vipNumber]];

    coverLab.attributedText = text;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容