UILongPressGestureRecognizer和UITapGestureRecognizer

时间:2017-06-16 09:07:23

标签: swift tags uitapgesturerecognizer uilongpressgesturerecogni

我对Swift很陌生,我很有可能将这两个手势区分为按钮。

我正在xCode中编写我的第一个应用程序,我接近得出结论。作为最后一步,我想为按钮实施两种不同的操作,具体取决于长按或敲击。

我构建了如下应用程序。我有几个按钮连接到一个IBAction并使用标签区分它们。

来到我需要长按动作的两个按钮之一的标签我不知道如何继续。

你有什么建议吗? 非常感谢你

func longTap() {
            if (resultDisplay.text != ""){
                storedVariableA = String(result)
                eraseAll()
            }
        }
        else if (sender.tag == 20) {
                    let longPressGesture = UILongPressGestureRecognizer(target: self, action: #selector(self.longTap(_:)))
                    longPressGesture.minimumPressDuration = 2 
                    sender.addGestureRecognizer(longPressGesture)



                }

1 个答案:

答案 0 :(得分:2)

您可以在@IBAction中查看您在故事板中或以编程方式提供的标记,请检查以下代码。

@IBAction func action(_ sender: UIButton) {

    if sender.tag == 22 { // check for your desired tag instead of "22"
        // add longpress gesture. on sender // sender represents your button.
        let longPressGesture = UILongPressGestureRecognizer(target: self, action: #selector(self.handleLongPressGesture(_:)))
        longPressGesture.minimumPressDuration = 2 // mention minimum press duration you want user to press.
        sender.addGestureRecognizer(longPressGesture)
    } else {

    }
}