0

我希望一个特定的子字符串是黄色的。我不想将它分解为多个 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对象时,我看到属性内联,我猜它们应该在哪里。

我究竟做错了什么?

4

1 回答 1

0

解决方案是自定义代码drawTextInRect:忽略了属性字符串。

于 2014-05-21T22:05:33.370 回答