UIPickerView禁用列

时间:2011-01-21 10:34:36

标签: iphone components uipickerview

如何禁用UIPickerView列?

我想只禁用一列选择器。假设我有3列选择器,我想禁用第二列。

2 个答案:

答案 0 :(得分:1)

这里有几个选项。

1)捕获与第二列的交互并覆盖它。

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component;

可以实现此方法以简单地返回到选择之前的位置。但是,他们仍然可以与第二列进行交互。

2)只需从选取器中取出色谱柱即可。

我相信这是最好的选择。有一些布尔'showSecondColumn'。然后,在:

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView

您只需检查您的小旗并返回相应的号码即可。 UIPickerView有一个方法:reloadAllComponents

祝你好运!

答案 1 :(得分:0)

似乎没有办法禁用列。我这样解决了(不是最好的解决方案):

  1. 将列添加为“图像”(快照)
  2. 灰度“图像”
  3. 设置“图片视图”启用用户互动
  4. 将“图片视图”添加到选择器作为子视图
  5. 如果有更好的方式会很棒。