我正在实现一个自定义的UIGestureRecognizer
,它可以执行一些操作,包括识别双击。我试图通过跟踪点击次数作为自定义手势类的局部变量来跟踪是否是双击。
当然,当用户启动双击时,他们必须在两次点击之间抬起手指,这会导致调用 touchesEnded
。然而,这似乎总是也会触发 reset()
被调用,我已经实现了它来重置我的所有本地状态(正如我应该的那样,当识别器确实正确时状态被清除)结束)。因此,我无法跟踪每次调用 touchesBegan
时是否有先前的点击。
有没有合适的方法来实现这个?我想我只是好奇 UITapGestureRecognizer
如何在一个识别器 session 中实现多次点击。
最佳答案
FWIW,我最终使用 reset()
正常清除状态,但仍然跟踪最后一次触摸的 session (以 touchesBegan
开始并以 touchesEnded
),以确定每个 session 开始时是否有先前的点击。
不确定这是否是使用 UITapGestureRecognizer
实现双击的方式,但如果有人知道的话,我很乐意听到其他解决方案。
关于ios - 在自定义 UIGestureRecognizer 中维护触摸之间的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50030459/