如何使滑动手势识别器检测左右方向



我已经写了一个代码,并做了一个IB动作从主故事板到视图控制器的滑动手势动作。

@IBAction func swipeToSwitchScheme(_ sender: UISwipeGestureRecognizer) {
        if sender.direction == .right{
            switchCurrentScheme()
        }
        else if sender.direction == .left {
            print("swiped left")
        }
    }

然而,它似乎只能检测右手势而不能检测左手势。我执行手势识别器的方式有问题吗?

谢谢!

编辑:

@IBAction func swipeToSwitchScheme(_ sender: UISwipeGestureRecognizer) {
        if sender.direction == .right {
            switchCurrentScheme()
        }
    }
    @IBAction func swipeLeft(_ sender: UISwipeGestureRecognizer) {
        if sender.direction == .left {
            print("swipe left")
            switchCurrentSchemeLeft()
        }
    }

我得到了它,但只有正确的手势被识别

我找到了解决方案,显然,如果你想在同一视图中添加两个手势识别器,你必须在viewDidLoad中定义它们的两个方向。所以把两个识别器的出口都放到swift文件中,然后在viewDidLoad中将它们设置为各自的方向。

最新更新