我有一个UIPickerView
像这样工作的动态:
- 仅从 1 个组件开始
- 选择一行时,添加一个新组件
为了精确起见,我所说的组件是指列。
我只想激活我最后添加的组件。其他人应该完全禁用,甚至不能滚动或选择行。
我已经知道如何动态添加一个组件,但我不知道要禁用一个。
有什么办法吗?
我有一个UIPickerView
像这样工作的动态:
为了精确起见,我所说的组件是指列。
我只想激活我最后添加的组件。其他人应该完全禁用,甚至不能滚动或选择行。
我已经知道如何动态添加一个组件,但我不知道要禁用一个。
有什么办法吗?
我不知道在不完全自己实现的情况下禁用组件的方法,但是您可以做的是一次仅显示一个组件并添加带有“后退”按钮的附件视图,例如,如果您是选择一个位置,您将显示一个带有状态的组件,当用户选择一个州时,您将用该州的城市名称替换该组件,并添加一个“后退”按钮让他们在必要时回溯。对于您想要做的事情,这是我所知道的最干净的解决方案。
如果您绝对必须“禁用”一个组件,您将别无选择,只能继承 UIPickerView 并覆盖 touchesBegan:withEvent 和类似方法以基本上忽略对其他组件的触摸。要“禁用”,您可以在禁用的组件上放置一个 alpha < 1.0 的灰色层。我必须警告你,如果没有正确实施,这可能会变得丑陋并产生不可预见和不良后果。祝你好运。
我创建了两个 UIView,一个用于保存选择器,另一个用于启用用户输入以捕获触摸的子视图。将它放在组件上,您可以根据需要切换 userInputEnabled。