Swift UITapGestureRecognizer 慢
Posted
技术标签:
【中文标题】Swift UITapGestureRecognizer 慢【英文标题】:Swift UITapGestureRecognizer Slow 【发布时间】:2015-12-07 14:22:17 【问题描述】:我在使用 UITapGestureRecognizer 时遇到了延迟,我知道这是由于:-
singleTap.requireGestureRecognizerToFail(doubleTap)
但这是必需的,因为单击与双击同时被调用。有没有其他方法可以解决这个问题?
let singleTap:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: Selector("singleTap:"))
singleTap.numberOfTapsRequired = 1
singleTap.requireGestureRecognizerToFail(doubleTap)
view.addGestureRecognizer(singleTap)
【问题讨论】:
【参考方案1】:如果您要求在检测到单击之前双击失败,那么您绝对无法解决这个问题。
您能否通过要求在双击识别之前单击失败来解决此问题?
doubleTap.requireGestureRecognizerToFail(singleTap)
这应该意味着只有在未检测到单击时才会触发双击,本质上是优先考虑单击
【讨论】:
是的,它的晚餐很烦人,因为我需要单击以步行到该位置,并双击以运行到该位置。我已经尝试消除失败,它只会让我的角色出现故障。将失败添加到 doubleTap 使我遗憾地无法使用 doubleTap :( 我非常感谢您的帮助 Liam,谢谢! 啊,是的,对不起,这是有道理的!不幸的是,它是手势识别系统的设计,所以除了以不同的方式使用手势来实现您想要的之外,这里没有什么可以做的?也许玩弄使用不同类型的手势或者轻弹/滑动来运行?祝你好运! 另外,来自苹果文档:“如果您希望这两个操作互斥,您的单击识别器必须要求双击识别器失败。但是,您的单击操作会落后一点用户的输入,因为单击识别器会延迟,直到双击识别器失败。” (通过,developer.apple.com/library/ios/documentation/EventHandling/…)。它有点解释你的情况以及它发生的原因:)以上是关于Swift UITapGestureRecognizer 慢的主要内容,如果未能解决你的问题,请参考以下文章
swift [Swift Notes]在学习Swift #Swift的同时收集笔记