如何调试 UIGestureRecognizers

Posted

技术标签:

【中文标题】如何调试 UIGestureRecognizers【英文标题】:How to debug UIGestureRecognizers 【发布时间】:2016-10-15 23:36:44 【问题描述】:

我有一个具有不同UIGestureRecognizers 的视图层次结构。时不时其中一个停止工作,我正在寻找一种有效的方法来调试它。由于UIGestureRecognizers 通常是被动的,我总是发现它们很难调试。如果一个人停止工作,我能想到的两件事是

检查视图层次结构以确保另一个视图没有阻挡触摸 在所有相关视图上覆盖 touchesBegan:withEvent: 以尝试追踪触摸的传递

不过,这些有时并不能解决问题,就像我目前的情况一样,我有一个 UITapGestureRecognizer,有时(我相信在呈现和关闭视图之后)在应用程序运行时停止工作。

【问题讨论】:

【参考方案1】:

我建议您查看 UITouch 上鲜为人知的 (IME) 属性 gestureRecognizers,这可能足以帮助您。您还可以将其与覆盖 UIWindow 和 UIApplication 称为 sendEvent 的方法结合起来,以获得对事件序列的更多可见性。触摸处理。 (没有双关语。)

【讨论】:

以上是关于如何调试 UIGestureRecognizers的主要内容,如果未能解决你的问题,请参考以下文章

UIGestureRecognizers 没有响应

UIGestureRecognizers 干扰 UIToolbar?

您可以在不禁用其附加的 UIGestureRecognizers 的情况下禁用 UIButton 吗?

UIGestureRecognizers vs touchesBegan/touchesMoved/touchesEnded(准确度)

如何将 UIView 中的一部分用于手势识别器?

如何用 UIGestureRecognizer 替换 TouchesBegan