弹出视图控制器使用屏幕边缘平移手势识别器不遵循拇指

And*_*rej 7 cocoa-touch uinavigationcontroller uigesturerecognizer swift

一旦我添加了自定义栏导航栏按钮项,我就失去了使用默认功能返回的能力.我希望能够使用"从边缘滑动"返回.

我添加了Edge Pan Gesture Recogniser并将其连接到@IBAction,但是一旦识别出平移手势,解雇动作就会完全发生.

而不是慢慢地跟随我的拇指(如在其他应用程序中看到的),当前视图移出预定义的动画.

如何使用Edge Pan Gesture Recogniser按照我的拇指制作动画?

@IBAction func edgeSwipe(sender: AnyObject) {
    navigationController?.popViewControllerAnimated(true)
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

And*_*rej 6

没有必要添加Edge Pan Gesture Recogniser.按照@beyowulf的建议,我已经能够实现滑动返回功能,其行为与默认系统实现相同 - 视图边缘跟随我的拇指,因为我滑动它以消除它.

所以我已从ScreenEdge Pan Gesture Recogniser故事板中删除了并删除了相关内容@IBAction.

我让我的第一个视图控制器成为了代表interactivePopGestureRecognizer.这是代码:

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        navigationController?.interactivePopGestureRecognizer?.delegate = self
    }
}

extension ViewController: UIGestureRecognizerDelegate {

    func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool {
        return navigationController?.viewControllers.count > 1 ? true : false
    }
}
Run Code Online (Sandbox Code Playgroud)