0
我想要一個特定的子字符串是黃色的。我不想將它分解成多個UILabels,因爲這會使佈局本地化成一場噩夢。所以我這樣做:爲什麼這不正確地爲我的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;
}
但是,標籤中的整個文本保持白色。這似乎是所有示例都這樣做的原因,我驗證了範圍是正確的,並且在轉儲對象時,我看到內聯的屬性,我猜他們應該是。
我在做什麼錯?
首先想到的是,雖然不可能我猜,是你使用了一個自定義的UILabel類,並且你在(void)drawTextInRect中添加了自定義代碼:(CGRect)rect方法,所以它忽略了屬性值 – Apostolos
你的代碼看起來不錯,在樣本項目上進行測試,並且完美地工作。在哪一刻這個代碼被執行? –
仔細檢查,你是正確的apostolos。 –