维护自定义UIGestureRecognizer中的触摸之间的状态

时间:2018-04-25 20:03:02

标签: ios swift uigesturerecognizer

我正在实施自定义UIGestureRecognizer,它可以执行一些操作,包括识别双击。我试图通过跟踪水龙头数量作为自定义手势类的局部变量来跟踪它是否是双击。

当然,当用户启动双击时,他们必须将手指抬到水龙头之间,这会导致touchesEnded被调用。但是,这似乎也总是触发reset()被调用,我已经实现了重置所有本地状态(因为我应该这样,当识别器确实正确结束时状态被清除)。因此,我无法在每次调用touchesBegan时跟踪是否有先前的点按。

有没有正确的方法来实现这个?我想我只是好奇UITapGestureRecognizer如何在一个识别器会话中实现多次点击。

1 个答案:

答案 0 :(得分:0)

FWIW,我最终使用reset()来正常清除状态,但仍然跟踪上次触摸的会话(以touchesBegan开头并以touchesEnded结束的会话)以便确定在每个会话开始时是否有先前的点击。

不确定这是用UITapGestureRecognizer实现双击的方式,但如果有人知道,我们很乐意听到其他解决方案。