方法一

  • 创建继承于UINavigationController的子类LNavigationController,在viewDidLoad中实现代码
 override func viewDidLoad() {
        super.viewDidLoad()
     guard let targets  = interactivePopGestureRecognizer?.value(forKey: "_targets") as? [NSObject] else {return}
        let targetObjc = targets[0]
        let target = targetObjc.value(forKey: "target")
        let action = Selector(("handleNavigationTransition:"))
 
        let panges = UIPanGestureRecognizer(target: target, action: action)
        view.addGestureRecognizer(panges)
    }

方法二

  • 使用第三方库
    pod 'FDFullscreenPopGesture',不用添加任何代码