核心文本设置默认颜色和特定单词的颜色

时间:2012-04-19 15:16:11

标签: ios colors core-text

我很擅长使用Core Text,而且我没有找到关于如何使用颜色属性的更多信息...如何设置默认文本颜色,然后更改特定范围的颜色?

我要做的是画一个简短的句子。我希望文本的默认颜色为浅灰色,然后用红色标记单个单词以突出显示它。

2 个答案:

答案 0 :(得分:7)

在尝试更好地解释我遇到的问题时,我发现错误......我正在这样做

UIColor _textColor = [UIColor grayColor];
[string addAttribute:(id)kCTForegroundColorAttributeName value:(id)_textColor range:NSMakeRange(0, [string length])];

而不是这个

UIColor _textColor = [UIColor grayColor];   
[string addAttribute:(id)kCTForegroundColorAttributeName value:(id)_textColor.CGColor range:NSMakeRange(0, [string length])];

它有助于确保您使用正确的颜色对象!

答案 1 :(得分:1)

有两种方法可以解决这个问题

1)我创建了UILable的子类,UITextView使用核心文本(CATextLayer)作为label / textview上的图层,NSAttributedString将存储有关字体和颜色的所有信息

2)您需要使用NSAttributedString。检查扩展UILabel的OHAttributedLabel并添加对通过NSAttributedString在其他帮助器中设置文本的支持。

希望这会有所帮助。

有关详细信息,请查看我的帖子:How to change color of a word in UITextView?