我在一个项目中使用它,
lblDetail.text =[NSString stringWithFormat:@"%@:%@",lblName.text,lblDetail.text];
在这个 lblName 和 lblDetail 都是不同的字符串,
现在我希望当我在视图中显示 lblDetail 时, lblName 的文本应该以绿色显示。
这可能吗 ?
我想这样做
我在一个项目中使用它,
lblDetail.text =[NSString stringWithFormat:@"%@:%@",lblName.text,lblDetail.text];
在这个 lblName 和 lblDetail 都是不同的字符串,
现在我希望当我在视图中显示 lblDetail 时, lblName 的文本应该以绿色显示。
这可能吗 ?
我想这样做
如果您想为字符串的不同部分分配不同的颜色(或其他样式属性,如字体和大小),您可以使用NSAttributedString
一些支持其绘图的扩展,例如OHAttributedLabel。不幸的是,您不会在 iOS SDK 中获得任何开箱即用的支持。
UILabel 有一个属性可以让你设置文本颜色:
myLabel.textColor = [UIColor greenColor];
lblDetail 是始终在您的视图中可见,还是仅在满足条件后可见?
如果你需要一个可以显示一些富文本的 UILabel,比如一个文本的第一部分是蓝色的,另一个是红色的,你可以使用我的OHAttributedLabel类,它是 UILabel 的一个子类,它使用 CoreText 来绘制 NSAttributedStrings。(iOS 3.2+)
它使用起来非常简单,还为 NSAttribtedString 提供了一个类别,该类别添加了一些有用的方法,例如轻松更改一系列文本的样式,而无需知道 CoreText 属性常量。
[编辑] 抱歉,我没有意识到 Thomas Wanner 在他的回答中已经提到了我的班级
为您的 UILable 提供字体和颜色以及背景颜色
lblOfflineCount.textColor=[UIColor grayColor];
lblOfflineCount.font=[UIFont boldSystemFontOfSize:14.0];
[lblOfflineCount setBackgroundColor:[UIColor clearColor]];
斯威夫特
lblOfflineCount.textColor = UIColor.grayColor()
lblOfflineCount.font = UIFont.boldSystemFontOfSize(14.0)
lblOfflineCount.backgroundColor = UIColor.clearColor()