当我点击或触摸特定次数的屏幕时,我正在创建一个必须保存屏幕的应用程序,如屏幕截图。我已经尝试了其他用户建议的与我的问题相关的所有解决方案,但没有任何帮助...
我将感谢所有建议。 :) 感谢
答案 0 :(得分:0)
以下博客文章很好地解释了用于识别连续多次点击的内置选项(并解释了缺点):Detecting tap and double-tap with Gesture Recognizers。
如果您需要比内置手势识别器提供的更多自定义逻辑,您将要么实现自己的UIGestureRecognizer
自定义子类,要么将逻辑添加到UIResponder
( UIViewController
,UIView
等超类,以及点击输入的回调:touchesBegan:withEvent:
,touchesMoved:withEvent:
和touchesEnded:withEvent:
。
我对后一种方法有更多的经验(不是UIGestureRecognizer
)。传递给各种UITouch
回调的UIResponder
事件均包含有关触摸位置和触摸时间的信息。您可以将此信息与NSTimer
结合使用,以确定用户是否在一定时间内点击了两次(或更多次)。如果计时器在第二次(或n
触摸之前)触发,那么您可以将其视为单次触摸事件。
我不知道这是否是执行此操作的最佳方式,但它肯定比内置UIGestureRecognizer
为您提供更精细的控制。