2010-01-01 84 views
1

我目前在我的应用程序中使用UIPIckerView以允许用户从选项列表中进行选择。问题在于用户停止旋转车轮时没有足够的延迟,并且在用户有机会向下滚动列表之前选择一个值。UIPickerView - 选择行太快

有没有办法来覆盖默认行为,只要轮子停止旋转并且用户移除他们的手指就选择该行?我看到移动Safari包括一个“完成”按钮,这将是伟大的。

如果需要,我可以提供代码(不知道它会如何帮助)。

谢谢!

回答

6

您可以手动添加;只需将一个完成按钮添加到持有UIPicker的视图中,并让IT执行您当前正在执行的任何操作 - pickerView:didSelectRow:inComponent :.

+0

谢谢,我让它变得比它需要的更困难。我结束了一个UIToolbar附加到选择器的顶部与完成按钮,隐藏自己和选择器。它工作的很好,当我发布这个问题时,我有一个严重的脑失效! – Eric 2010-01-02 03:37:21

1

UIPickerView自动选择中心中哪个行停止。它不像桌子一样工作,但更像是一个弹出式菜单。因此,不能使用按钮之类的选择器视图来调用某个动作,因为它会触发用户停止移动它的时刻,无论这是否代表他们的最终选择。相反,如前所述,您需要第二个控件元素(通常是按钮)来调用使用pickerview选择的动作。