我在 UIButton 上有一个 UILongPressGestureRecognizer。我的手势识别器的最短持续时间为 0.5 秒。当我按住它时,我希望它每按 0.5 秒触发一次。我该怎么做?
问问题
341 次
2 回答
1
你不能用手势来做到这一点。您需要实现底层的触摸管理方法UIControl
并跟踪触摸的开始和结束(并使用您自己的计时器)。一旦手势触发,它需要结束并通过新的触摸重新开始。
我想应该可以创建你自己的手势,然后你可以访问触摸,虽然我不确定系统会如何对你重复的状态变化做出反应......
于 2015-05-05T16:07:13.500 回答
1
对于每个触摸事件,您将在相应的视图/视图控制器上获得以下回调。
touchesBegan:withEvent:,
touchesMoved:withEvent:,
touchesEnded:withEvent:, and
touchesCancelled:withEvent:
实现这一点的简单方法是,在 touchesBegan:withEvent 回调方法中触发一个计时器,并使 touchesEnded:withEvent 和 touchesCancelled:withEvent 方法中的计时器无效。
您也可以为此使用简单的 UIView,如果您正在寻找简单的解决方案,则无需使用新的 UIControl 或 GestureRecognizer。
于 2015-05-05T20:34:26.000 回答