我从快速的长按手势中看到一些奇怪的行为。长按的最短持续时间为1秒。如果我按下1秒钟以上的smidgen,则检测到长按。但如果我按下2秒或更长时间,则无法检测到。到底是怎么回事?我必须担心一些最长的预约时间吗?我能改变一下吗?
答案 0 :(得分:0)
长按手势识别器内置了一些默认号码。例如,您可以配置' NumberOfTapsRequire' numberOfTouchesRequired',' minimumPressDuration' ...等
此外,手势识别器具有不同的状态,如.Failed,.Began,.Changed。
因此,默认情况下,longPressGesuture会在一段时间后失败,因为它超出了默认时间。
所以在你的情况下,它可能被视为已取消。
连续手势被识别但后来取消了:
。可能 - > .Began - > .Changed (重复) - >的 .Cancelled 强>
答案 1 :(得分:0)
好的,我的坏。它实际上不是我的代码,我不得不调试别人的代码。事实证明,有一个后台线程与服务器通信以获取更新信息,并且该线程每秒都在尝试更新接口。因此,在视图上开始长按,但是在一秒钟过去的时候,它是一个不同的视图,因此长按在该视图上永远不会完成!显然我改变了代码,因此它只会更新视图,如果有关它的内容实际发生了变化。现在它很少需要改变视图,因此长按可以正常工作。