我有以下代码:
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:_textView.text];
NSRange totalRange = NSMakeRange(0, [attributedString length]);
[attributedString addAttribute:(id)kCTForegroundColorAttributeName
value:(id)[UIColor yellowColor].CGColor
range:totalRange];
其中,在 iOS 6 上运行时,总是会导致字符串显示为红色。
有趣的是 CoreText 可用于指定字体,如下所示:
[attributedString addAttribute:(id)kCTFontAttributeName
value:[UIFont boldSystemFontOfSize:20]
range:specialFontRange];
以这种方式设置颜色可以正常工作:
[attributedString addAttribute:NSForegroundColorAttributeName
value:[UIColor yellowColor]
range:totalRange];
但出于兼容性原因,我必须使用 CoreText。关于如何使用 CoreText 在 iOS 6 中指定颜色的任何想法?