3

我对使用核心文本很陌生,而且我没有找到太多关于如何使用颜色属性的信息......如何设置默认文本颜色,然后更改特定范围的颜色?

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

4

2 回答 2

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])];

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

于 2012-04-19T18:14:17.053 回答
1

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

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

2) 你需要使用 NSAttributedString。检查 OHAttributedLabel,它扩展了 UILabel 并添加了对通过 NSAttributedString 以及其他帮助程序设置文本的支持。

希望这会有所帮助。

有关更多信息,请查看我的帖子:如何更改 UITextView 中单词的颜色?

于 2012-04-19T15:20:38.787 回答