我要写的问题已经用两个解决了UILabel
。我正在寻找一些优化方法。我有一个字符串(example : hello world )
需要以UILabel
不同的颜色显示。就像"hello in red color " and "world in green color"
提前致谢
我要写的问题已经用两个解决了UILabel
。我正在寻找一些优化方法。我有一个字符串(example : hello world )
需要以UILabel
不同的颜色显示。就像"hello in red color " and "world in green color"
提前致谢
假设您有一个名为 colouredLabel 的文本标签,并且您想用红色写 hello,用绿色写 world。
在 iOS 6 中,您可以创建属性字符串并将其设置为标签的属性文本:
NSMutableAttributedString* str=[[NSMutableAttributedString alloc]initWithString: @"Hello world"];
[str setAttributes: @{ NSForegroundColorAttributeName : [UIColor redColor] } range: NSMakeRange(0, 5) ];
[str setAttributes: @{ NSForegroundColorAttributeName : [UIColor greenColor] } range: NSMakeRange(6, 5) ];
coloredLabel.attributedText= str;
从 iOS 6 开始,UILabel
有一个attributedText
属性。将NSAttributedString
具有所需内容和格式属性的适当属性分配给此属性,您就完成了。最简单的方法是在 Interface Builder 中,您只需将标签的文本从“Plain”切换到“Attributed”。完成此操作后,您可以直接在 IB 中设置格式属性。
(正如我所说,此解决方案仅适用于 iOS 6.0+)
如果您正在寻找与 iOS 4 的向后兼容性,您可以使用NIAttributedLabel
Nimbus。
http://nimbuskit.info/
是的,您还可以使用如下图像图案设置颜色..
UIColor *LableColor=[[UIColor alloc]initWithPatternImage:[UIImage imageNamed:@"anyImageName"]];
https://github.com/mattt/TTTAttributedLabel是如果您需要定位低于 iOS 6 的方法!