滑动手势 - 斯威夫特3

时间:2016-12-06 20:31:41

标签: ios xcode swift3

我需要我的应用来响应滑动手势,到目前为止我已经获得了此代码。但由于某些原因,当我滑动时,应用程序崩溃了。请问有什么问题?我在xcode中使用swift 3。谢谢

    override func viewDidLoad() {
    super.viewDidLoad()

    var swipeRight = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
    swipeRight.direction = UISwipeGestureRecognizerDirection.Right
    self.view.addGestureRecognizer(swipeRight)

    var swipeDown = UISwipeGestureRecognizer(target: self, action: "respondToSwipeGesture:")
    swipeDown.direction = UISwipeGestureRecognizerDirection.Down
    self.view.addGestureRecognizer(swipeDown)
}

func respondToSwipeGesture(gesture: UIGestureRecognizer) {

    if let swipeGesture = gesture as? UISwipeGestureRecognizer {


        switch swipeGesture.direction {
            case UISwipeGestureRecognizerDirection.Right:
                print("Swiped right")
            case UISwipeGestureRecognizerDirection.Down:
                print("Swiped down")
            case UISwipeGestureRecognizerDirection.Left:
                print("Swiped left")
            case UISwipeGestureRecognizerDirection.Up:
                print("Swiped up")
            default:
                break
        }
    }
}

1 个答案:

答案 0 :(得分:5)

这是由于错误: - 没有用Objective-C选择器声明的方法'respondToSwipeGesture:'

这意味着编译器找不到任何方法“respondToSwipeGesture”,当您尝试滑动程序时,尝试查找此方法并因崩溃而无法找到它。

请提供以下行为: -

let swipeRight = UISwipeGestureRecognizer(target: self, action: #selector(self.respondToSwipeGesture))

let swipeDown = UISwipeGestureRecognizer(target: self, action: #selector(self.respondToSwipeGesture))

这将解决您的问题。