Swift 2.0 如何检测用户握住而不只是点击

Swift 2.0 How to detect that the user holds instead of just tapping

我正在寻找一种方法来检测用户是否按住屏幕(按住屏幕 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()
}
界面上的

"Holding" 在 iOS 开发中通常称为 "Long Pressing"。以下是设置其中之一的方法:

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

func longPressed(sender: UILongPressGestureRecognizer)
    {
        println("longpressed")
    }

与简单的点击识别器不同,后者会在用户只需点击屏幕而不是按住更长的时间时触发。

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

    func tapped(sender: UITapGestureRecognizer)
    {
        println("tapped")
    }