(iOS)如何使UIPickerView中的第一个值不可选?

我使用UIPickerView(例如)4行。 第一个值是灰色文本“挑选一个值”。 其他的是用户应该用黑色文本select的值。

挑选是可选的,所以用户可以跳过它。 但是,如果他们不这样做,用户将开始采摘后如何使第一个值不可select?

谢谢。 问候。

使用UIPickerView委托方法- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component更改选定的行,如果第一行被选中:

 - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { if (row == 0) { [pickerView selectRow:row+1 inComponent:component animated:YES]; } } 

编辑:您可以使用以下方法更改文字颜色:

 - (NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component { if (row == 0) return [[NSAttributedString alloc] initWithString:@"Pick a value" attributes:@{NSForegroundColorAttributeName:[UIColor lightGrayColor]}]; else { // Return titles } } 

这是如果你的目标iOS 6+,它取代了以前使用的-pickerView:titleForRow:forComponent:方法。