我正在使用下面的代码尝试设置UITextView
中文本子字符串的颜色,但它不起作用。看起来应该很简单;我错过了什么?
NSMutableAttributedString *title = [[NSMutableAttributedString alloc]initWithString:@"Welcome"];
UIFont *font = [UIFont fontWithName:@"Avenir-Light" size:10];
[title addAttribute:NSFontAttributeName value:font range:NSMakeRange(0, title.length)];
[title addAttribute:kCTForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0, title.length)];
descriptionCommentLabel.attributedText = title;
答案 0 :(得分:1)
您应该将kCTForegroundColorAttributeName
替换为NSForegroundColorAttributeName
。您可以在此文件的常量部分中检查有效属性的列表:Apple docs: NSAttributedString UIKit additions。你的代码现在是:
NSMutableAttributedString *title = [[NSMutableAttributedString alloc]initWithString:@"Welcome"];
UIFont *font = [UIFont fontWithName:@"Avenir-Light" size:10];
[title addAttribute:NSFontAttributeName value:font range:NSMakeRange(0, title.length)];
[title addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0, title.length)];
在iOS 5及更早版本中使用kCT...
属性,当UIKit不支持NSAttributedString
时,您不得不使用CoreText。
答案 1 :(得分:1)
将代码中的以下行更改为:
[title addAttribute:kCTForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0, title.length)];
到
[title addAttribute:NSForegroundColorAttributeNamevalue:[UIColor redColor] range:NSMakeRange(0, title.length)];