iOS - UIPickerView禁用组件

时间:2013-01-10 19:29:43

标签: ios components uipickerview

我的动态UIPickerView就是这样的:

  • 仅从1个组件开始
  • 选择行时,添加新组件

对于精度,按组件我的意思是列。

我只想激活我最后添加的组件。其他人应该完全禁用,甚至不能滚动或能够选择行。

我已经知道如何动态添加组件,但我不知道如何禁用它。

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:3)

我不知道如何在不完全自己实现的情况下禁用组件的方法,但您可以做的是一次只显示一个组件并添加带有“后退”按钮的附件视图,例如,如果您选择一个位置,您将显示一个具有状态的组件,当用户选择一个状态时,您将该组件替换为具有该状态的城市名称的组件,并添加一个“后退”按钮,以便在必要时进行回溯。这是我所知道的最干净的解决方案。

如果你必须“禁用”一个组件,你将别无选择,只能继承UIPickerView并覆盖touchesBegan:withEvent和类似方法,基本上忽略对其他组件的触摸。要“禁用”,您可以使用alpha<禁用组件的1.0。我必须警告你,如果没有正确实施,这可能会变得丑陋,并且会产生不可预见和不良后果。祝你好运。

答案 1 :(得分:1)

我创建了两个UIViews,一个用于保存选择器,一个子视图启用了用户输入以捕获触摸。将其放在组件上,您可以根据需要切换userInputEnabled。

相关问题