我可以禁用特定UIPickerView项目中的选择吗?

时间:2011-09-28 02:47:45

标签: objective-c xcode uipickerview

我可以找到一个教授使用委托方法检查行是否有效的帖子,如果不是则滚动到右边。

但那不是我想要的。 pickerView初始化后,我可以禁用特定的行吗? 就像“灰色”一行,并且无法停止指示。

谢谢专家。

2 个答案:

答案 0 :(得分:10)

这样做有两个部分。

  1. 使用-[<UIPickerViewDelegate> pickerView:viewForRow:forComponent:reusingView:]返回每行的自定义视图,例如UILabel。对于要显示为已禁用的行,您需要配置视图以反映该禁用。
  2. -[<UIPickerViewDelegate> pickerView:didSelectRow:inComponent:]中,您需要检测何时选择了禁用,然后使用-[UIPickerView selectRow:inComponent:animated:]“回滚”到“有效”行。

答案 1 :(得分:0)

您也可以在实现中留下空白,例如:

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
    if(row==0){
//Code
}
if(row==1){

//BLANK

}
if(row==2){
//Code
}
相关问题