label上文字数字混排,只改变数字颜色

来源:互联网 发布:如何做好淘宝售后服务 编辑:程序博客网 时间:2024/06/05 05:42
NSString *dateContent=[[NSString alloc] initWithFormat:@"剩%i天%i小时",days,hours];    NSLog(@"%@",dateContent);    NSArray *number = @[@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9"];    NSMutableAttributedString *attributeString  = [[NSMutableAttributedString alloc]initWithString:dateContent];    for (int i = 0; i < dateContent.length; i ++) {        //这里的小技巧,每次只截取一个字符的范围        NSString *a = [dateContent substringWithRange:NSMakeRange(i, 1)];        //判断装有0-9的字符串的数字数组是否包含截取字符串出来的单个字符,从而筛选出符合要求的数字字符的范围NSMakeRange        if ([number containsObject:a]) {            [attributeString setAttributes:@{NSForegroundColorAttributeName:kColorWithRGB(0x802122),NSFontAttributeName:[UIFont systemFontOfSize:14],NSUnderlineStyleAttributeName:[NSNumber numberWithInteger:NSUnderlineStyleSingle]} range:NSMakeRange(i, 1)];        }    }    //完成查找数字,最后将带有字体下划线的字符串显示在UILabel上    therrelabel.attributedText = attributeString;

这里写图片描述

阅读全文
0 0
原创粉丝点击