在给定条件下拦截轻敲事件

时间:2010-12-04 15:07:07

标签: cocoa-touch ios

我使用UIPickerView创建了一个视图,当用户按下按钮时会显示该视图。

现在我需要让UIPickerView在用户点击屏幕上的任何地方时消失(显然是UiPickerView)。

如果UIPickerView可见,我怎么能拦截这个点击? 谢谢!

1 个答案:

答案 0 :(得分:2)

您可能希望将UIGestureRecognizer附加到主视图。只要有人在某处点击主视图,您就可以获得一个事件并删除您的UIPickerView。在你的ViewController中写下这样的东西:

UITapGestureRecognizer *tgr = [[UITapGestureRecognizer alloc] 
                         initWithTarget:self action:@selector(viewWasTapped)];
[self.view addGestureRecognizer:tgr];

在viewWasTapped方法中,您将在ViewControllers视图上收到所有Taps。

希望有所帮助。