我希望一个特定的子字符串是黄色的。我不想将它分解为多个 UILabel,因为这会使布局本地化成为一场噩梦。所以我这样做:
NSMutableAttributedString* instructions = [[[NSMutableAttributedString alloc] initWithString:self.o_instructionsLabel.text] autorelease];
NSRange range = [instructions.string rangeOfString:@"FOOBARBAZ"];
if (range.length > 0)
{
[instructions addAttribute:NSForegroundColorAttributeName value:[UIColor yellowColor] range:range];
self.o_instructionsLabel.attributedText = instructions;
}
但是,标签中的整个文本仍然是白色的。这似乎是所有示例的方式,我验证了范围是正确的,当我转储instructions
对象时,我看到属性内联,我猜它们应该在哪里。
我究竟做错了什么?