现有一个字符串@“剩余:256分钟”,想要显示成如下效果:
实现代码如下:
NSString *number = [NSString stringWithFormat:@"%d",256];
NSUInteger numberLength = [number length];//获取256的字节长度
//单位
NSString *unit = @"分钟";
NSString *numberAndUnitStr = [NSString stringWithFormat:@"%@%@",number,unit];
NSUInteger numberAndUnitLength = [numberAndUnitStr length];//获取“256分钟”的长度
//拼接字符串
NSString *str2 = [NSString stringWithFormat:@"剩余:%@%@",number,unit];
NSMutableAttributedString *surpluStr = [[NSMutableAttributedString alloc] initWithString:str2];//可变字符串“剩余:256分钟”
//设置256显示为蓝色
[surpluStr addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(3,numberAndUnitLength)];
//设置256字体为25
[surpluStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:25.0] range:NSMakeRange(3, numberLength)];
//设置256的背景颜色为灰色
[surpluStr addAttribute:NSBackgroundColorAttributeName value:[UIColor grayColor] range:NSMakeRange(3, numberLength)];
label.attributedText = surpluStr;//把设置好的可变字符串赋给label 显示出来