我在swift中看到了一些奇怪的行为。长按的最小持续时间为1秒。如果我按下超过1秒的时间,就会检测到长按。但如果我按下2秒或更长时间,检测不到它。怎么一回事?是否有一些我必须担心的最大压力时间?我能换一下这个吗?
发布于 2015-08-18 08:41:46
长按手势识别器内置了一些默认数字。例如,你可以配置'NumberOfTapsRequire','numberOfTouchesRequired',‘minimumPressDuration’等。
此外,手势识别器有不同的状态,如.Failed,.Began,.Changed。
因此,默认情况下,longPressGesuture会在一段时间后失败,因为超过了它的默认时间。
因此,在您的情况下,它可以被读取为已取消。
连续手势被识别,但后来被取消:
.Possible -> .Began -> .Changed (repeatedly) -> .Cancelled (重复使用此命令行(重复))
发布于 2015-08-19 02:27:51
好吧,是我的错。这实际上不是我的代码,我不得不调试别人的代码。原来有一个后台线程正在与服务器对话以获取更新的信息,而这个线程每秒都在尝试更新界面。因此,长按开始于一个视图,但到一秒钟过去时,它是一个不同的视图,因此长按永远不会完成该视图!显然,我更改了代码,因此它只在视图的某些内容实际发生更改时才更新它。现在它只需要很少改变视图,所以长时间按就可以了。
https://stackoverflow.com/questions/32061712
复制相似问题