didSelectRowAtIndexPath与Tap Gesture Recognizer相冲突

Vin*_*rel 5 objective-c uitableview tableview ios uitapgesturerecognizer

我已经通过Storyboard在我的ViewController中设置了一个Tap Gesture Recognizer(因此,如果显示了这个,那么视图中的所有点击将隐藏键盘)

问题是,现在,我在这个视图中添加了一个TableView,当我在一个单元格上进行clic时,使用Tap Gesture Recognizer设置的方法是调用,而不是didSelectRowAtIndexPath.

"有趣"的是,如果我在单元格上停留2秒或更长时间,didSelectRowAtIndexPath则调用委托,而不是TapGestureRecognizer方法.

你能解释一下这里发生了什么吗?我错在哪里以及为什么?

Tob*_*ary 11

成功识别触摸时,您UITapGestureRecognizer可能会取消触摸事件.

尝试设置

tapGestureRecognizer.cancelsTouchesInView = NO;
Run Code Online (Sandbox Code Playgroud)

有关此主题的更全面的阅读,请查看有关手势识别的概念文档.