我已通过 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。