更改UIPickerView文本的颜色

时间:2014-07-22 02:39:24

标签: ios objective-c ios7 uipickerview

我有一个UIPickerView,我想根据此堆栈溢出问题中显示的方法将文本颜色更改为白色:How do I change the color of the text in a UIPickerView under iOS 7?

但是,我键入的代码似乎不起作用。有人可以告诉我为什么吗?

我的ViewController.m

中有以下方法
- (NSAttributedString *)changePickerColor:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component :(NSString*)title
 {
     NSAttributedString *attString = [[NSAttributedString alloc] initWithString:title attributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];

     return attString;
}

在我的viewDidLoad中我这段代码:

self.instruments = [[NSMutableArray alloc]initWithObjects:@"Baritone",@"Trumpet",@"French Horn",@"Tuba", nil];
for (int i = 0; i < self.instruments.count; i++) {
    [self changePickerColor:self.pickerView attributedTitleForRow:i forComponent:0 :self.instruments[i]];
}

我没有收到任何错误消息,代码只是不起作用。 请帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

  • 或者您也可以使用以下代理并定义UILabel来设置文本的首选颜色

    – pickerView:viewForRow:forComponent:reusingView: