我有一个用于调查的滑块,它根据滑块的值显示以下字符串:“非常差、差、好的、好、非常好”。
这是滑块的代码:
- (IBAction) sliderValueChanged:(UISlider *)sender {
scanLabel.text = [NSString stringWithFormat:@" %.f", [sender value]];
NSArray *texts=[NSArray arrayWithObjects:@"Very Bad", @"Bad", @"Okay", @"Good", @"Very Good", @"Very Good", nil];
NSInteger sliderValue=[sender value]; //make the slider value in given range integer one.
self.scanLabel.text=[texts objectAtIndex:sliderValue];
}
我希望“非常差”为红色,“差”为橙色,“好的”为黄色,“好”和“非常好”为绿色。
我不明白如何使用
NSAttributedString
来完成这项工作。 最佳答案
不需要使用 NSAttributedString
。您所需要的只是一个带有正确 textColor
的简单标签。此外,这个简单的解决方案适用于所有版本的 iOS,而不仅仅是 iOS 6。
但是,如果您不必要地希望使用 NSAttributedString
,您可以执行以下操作:
UIColor *color = [UIColor redColor]; // select needed color
NSString *string = ... // the string to colorize
NSDictionary *attrs = @{ NSForegroundColorAttributeName : color };
NSAttributedString *attrStr = [[NSAttributedString alloc] initWithString:string attributes:attrs];
self.scanLabel.attributedText = attrStr;
关于ios - 使用 NSAttributedString 更改字符串颜色?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14287386/