Swift XCode 6.1 UILongPressGestureRecognitor

Swift XCode 6.1 UILongPressGestureRecognitor,swift,Swift,所以,我有一个游戏场景。在didMoveToView函数中,我声明了我的保持手势: let holdGesture = UILongPressGestureRecognizer(target: self, action: "handle") view.addGestureRecognizer(holdGesture) handle是用户按住触摸键时调用的函数: func handle() { i++ println(i) } 所以,i是一个全局变量,它

所以,我有一个游戏场景。在didMoveToView函数中,我声明了我的保持手势:

let holdGesture = UILongPressGestureRecognizer(target: self, action: "handle")
view.addGestureRecognizer(holdGesture)
handle是用户按住触摸键时调用的函数:

func handle() {
        i++
        println(i)
    }

所以,i是一个全局变量,它是0。用户触摸的次数越多,我会增加的次数越多。这就是我想做的。我的问题是:为什么用户要在屏幕上移动手指来增加i,而不是在屏幕上不移动手指?当我握住手指时,当我触摸屏幕时,我只增加1,当我将手指抬离屏幕时,我再次增加1。但是,如果我触摸屏幕并移动手指,我会增加。问题是什么?感谢并为我的英语感到抱歉。

UILongPressGestureRecognitor不会每秒触发您的方法,也不会在您假装的任何时间间隔触发您的方法,但只会在指定的时间段后触发您的方法一次

以下是苹果的文档:

UILongPress手势识别器
UILongPressGestureRecognitor是UIGestureRecognitor的一个具体子类,用于查找长按手势。用户必须在视图上按一个或多个手指,并在那里按住手指一段时间 动作触发前的最短时间段。在下山的时候 用户的手指移动不得超过规定距离;如果他们 如果移动超过指定的距离,手势将失败

长时间的新闻手势是连续的。手势开始了 UIgestureRecognizerState在允许的 手指按了所需的触摸次数,以进行操作 指定的时段minimumPressDuration,触摸不显示 移动超过允许移动的允许范围。 每当发生更改时,手势识别器将转换到更改状态 手指移动,当任何手指移动时,它将结束UIgestureRecognitizerStateEnded 许多手指被提起


类引用

我尝试了minimumPressDuration和allowableMovement,但没有任何变化。这是因为你不明白它是如何工作的。我想说的是。。。使用UILongPressGestureRecognizer无法实现您的目标,因此您必须寻找另一种方法。这不是我可以通过UILongPressGestureRecognizer实现的方法吗?不是,您应该在长按后使用UILongPressGestureRecognizer触发操作,仅此而已。这里有一个想法,你为什么不测量一下印刷持续时间,然后用这个数字设置i值呢?谢谢,我会告诉你的。有了NSTimer,不是吗?