Swift 2.0如何检测用户持有而不是仅仅点击

Gje*_*sen 1 nstimer ios swift

我正在寻找一种方法来检测用户是否按住屏幕(按住屏幕1秒)我尝试使用计时器,但我没有工作.这是我现在的代码.

var brakeTimer = NSTimer()

func update () {
    print("The user is holding the screen")   
}

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
    var brakeTimer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "update", userInfo: nil, repeats: true)
}


override func touchesCancelled(touches: Set<UITouch>?, withEvent event: UIEvent?) {
    brakeTimer.invalidate()
}
Run Code Online (Sandbox Code Playgroud)

Eth*_*ker 6

界面上的"保持"通常在iOS开发中被称为"长按".以下是如何设置其中一个:

let longPressRecognizer = UILongPressGestureRecognizer(target: self, action: "longPressed:")
        self.view.addGestureRecognizer(longPressRecognizer)

func longPressed(sender: UILongPressGestureRecognizer)
    {
        println("longpressed")
    }
Run Code Online (Sandbox Code Playgroud)

与简单的点击识别器相反,当用户只是轻敲屏幕而不是保持更长的时间时,它将触发.

let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: "tapped:")
        self.view.addGestureRecognizer(tapGestureRecognizer)

    func tapped(sender: UITapGestureRecognizer)
    {
        println("tapped")
    }
Run Code Online (Sandbox Code Playgroud)