我很擅长使用Core Text,而且我没有找到关于如何使用颜色属性的更多信息...如何设置默认文本颜色,然后更改特定范围的颜色?
我要做的是画一个简短的句子。我希望文本的默认颜色为浅灰色,然后用红色标记单个单词以突出显示它。
答案 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?