带有 UIGestureRecognizer 的 UITouch 事件

Posted

技术标签:

【中文标题】带有 UIGestureRecognizer 的 UITouch 事件【英文标题】:UITouch events with UIGestureRecognizer 【发布时间】:2013-11-19 19:23:16 【问题描述】:

我有一个自定义 UIView 子类,并添加了一个 UITapGestureRecognizer 到它。

我注意到,当我单击一次并立即双击视图时,touchesBegan:withEvent 只被调用了两次。如果我删除 GestureRecognizer 它会被调用 3 次。我还注意到,当我单击一次并在一段时间后双击时, touchesBegan:withEvent 会按预期调用 3 次。这要怎么解释?我可以让 GestureRecognizer 不干扰 UITouch 事件吗?

【问题讨论】:

【参考方案1】:

您的 UITouch 事件和您的 UIGestureRecognizer 可能会相互竞争触摸事件。有几种方法可以使它们一起工作。查看其中一些相关帖子:

UIButton inside a view that has a UITapGestureRecognizer ios5 UITapRecognizer for UIScrollView interfering with buttons. How to fix?

【讨论】:

以上是关于带有 UIGestureRecognizer 的 UITouch 事件的主要内容,如果未能解决你的问题,请参考以下文章

添加优先于所有其他交互的 UIGestureRecognizer

在 TableView 中检测 UIGestureRecognizer 的出处单元

Swift UIGestureRecognizer 不工作/不做任何事情

将 UIGestureRecognizer 的所有事件从一个 UIView 传递到另一个 UIView(子视图)[重复]

UIGestureRecognizer

UIGestureRecognizer