我已通过 Storyboard 在ViewController中设置了Tap Gesture Recognizer
(因此,如果显示了此 View ,则 View 中的所有水龙头都将隐藏键盘)

问题是,现在,我在此View中添加了一个TableView,当我单击一个单元格时,使用Tap Gesture Recognizer设置的方法是call,而不是didSelectRowAtIndexPath

“有趣”的事情是,如果我在单元格上停留2秒或更长时间,则将调用委托(delegate)didSelectRowAtIndexPath,而不是TapGestureRecognizer方法。

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

最佳答案

成功识别触摸时,您的UITapGestureRecognizer可能是cancels the touch event

尝试设定

tapGestureRecognizer.cancelsTouchesInView = NO;

有关此主题的详细信息,请阅读have a look an the conceptual docs on gesture recognition

09-11 19:32