Cocoa touch 在给定条件下截获tap事件
我创建了一个带有UIPickerView的视图,当用户按下按钮时会显示该视图 现在,当用户点击屏幕上的任意位置时,我需要使UIPickerView消失(显然是在UIPickerView之外) 如何仅在UIPickerView可见时拦截此点击?Cocoa touch 在给定条件下截获tap事件,cocoa-touch,ios,Cocoa Touch,Ios,我创建了一个带有UIPickerView的视图,当用户按下按钮时会显示该视图 现在,当用户点击屏幕上的任意位置时,我需要使UIPickerView消失(显然是在UIPickerView之外) 如何仅在UIPickerView可见时拦截此点击? 谢谢大家! 您可能需要将UIgestureRecognitor附加到主视图。一旦有人点击某个地方的主视图,您就可以获得一个事件并删除UIPickerView。在ViewController中编写如下内容: UITapGestureRecognizer *t
谢谢大家! 您可能需要将UIgestureRecognitor附加到主视图。一旦有人点击某个地方的主视图,您就可以获得一个事件并删除UIPickerView。在ViewController中编写如下内容:
UITapGestureRecognizer *tgr = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(viewWasTapped)];
[self.view addGestureRecognizer:tgr];
在viewWasTapped方法中,您将收到ViewControllers视图上的所有点击
希望能有所帮助。您不需要在问题标题的开头使用
[ios iphone]
。这就是标签的用途。;)谢谢你,esqew。我更改了标题。这只是解决问题的一部分。。。我可以在视图上添加识别器。我的问题是我需要切换识别器。如果uipicker视图可见,则添加它。。。。当它被移除时,我也会移除识别器。我想知道这是否是一个好方法。请注意,识别器需要放置在主视图上;也就是说,包含整个屏幕的视图。