iOS在一个Label中展示不同颜色的text

来源:互联网 发布:淘宝卖家差评申诉 编辑:程序博客网 时间:2024/05/17 22:18

不同字体颜色的label
如图所示,这是一个经常出现的需求,在一个lable中要展示出两中甚至多种颜色,如果创建两个label来实现会非常麻烦,要算好间距,而且做适配的时候,多一个控件都会多写很多代码,所以可以利用lable系统自带的attributedText属性来进行设置
`NSString *countStr=[NSString stringWithFormat:@”商品数量:%@”,@”10”];
NSMutableAttributedString *countString=[[NSMutableAttributedString alloc]initWithString:countStr];

[countString addAttribute:NSForegroundColorAttributeName value:[UIColor colorWithRed:72/255.0 green:147/255.0 blue:97/255.0 alpha:1] range:NSMakeRange(5,countStr.length-5)];
countLabel.attributedText=countString;`
容易出问题的点:
1,NSMakeRange的两个参数如果是(4,6) 并不是从第四位到第六位,而是第四位开始数后边的六位,如果计算错误,超出字符串的字符个数会崩溃
2,如果要从一个字符串的某一位开始 一直到字符串最后都改变颜色 可以用Str.length-X
3,不光可以改变颜色,command点进NSForegroundColorAttributeName,会发现还可以改变字体 字号 加下划线等等的功能

0 0
原创粉丝点击