我有一個顯示爲問題的UILabel。它以編程方式成功顯示已分配給它的問題文本。但後來根據其他條件,我必須更改標籤中的文本。具體而言,如果這是一個強制性問題,我希望在字符串的末尾顯示星號(*)標記。*應爲紅色,並且其餘的文本應該是黑色的。但它只顯示問題而不是*標記。如果我嘗試打印questLabel.text,它會在最後給出帶*標記的問題。以下是我正在嘗試的代碼即使它給控制檯中新分配的值UILabel不顯示其正確的值
questText = questLabel.text;
questText = [questText stringByAppendingString:@"✶"];
NSMutableAttributedString * str = [[NSMutableAttributedString alloc] initWithString:questText];
NSMutableAttributedString *text =
[[NSMutableAttributedString alloc]
initWithAttributedString: str];
int length = (int)text.length;
[text addAttribute:NSForegroundColorAttributeName
value:[UIColor redColor]
range:NSMakeRange(length-1, 1)];
[questLabel setAttributedText: text];
如果我嘗試打印questLabel.attributedText的價值:
Question{
}✶{
NSColor = "UIDeviceRGBColorSpace 1 0 0 1";
}
而對於questLabel.text值:Question✶
請幫我帶這個..預先感謝..
你初始化你NSMutableAttributedString與海峽這裏, 其中該海峽是從哪裏來的? – iOSEnthusiatic
@iosenthusiatic:這是複製代碼時發生的錯誤。我編輯了代碼,請現在看看 – iOSManiac