OC中一遍leftBarButtonItem與右滑沖突案铺,網(wǎng)上有很多代碼貼出來,在自定義的UINavigationController設(shè)置一遍就可以了梆靖。
但是最近我在swift的項目中控汉,把原先的自定義UINavigationController加入項目中使用,發(fā)現(xiàn)右滑返回還是無效返吻。
這個小問題暇番,搞了我兩天……
下面是我生效的代碼:
class JJNavigationVC: UINavigationController,UINavigationControllerDelegate {
var popDelegate: UIGestureRecognizerDelegate?
override func viewDidLoad() {
super.viewDidLoad()
self.popDelegate = self.interactivePopGestureRecognizer?.delegate
self.delegate = self
}
// MARK: - UINavigationControllerDelegate方法
func navigationController(_ navigationController: UINavigationController, didShow viewController: UIViewController, animated: Bool) {
if viewController == self.viewControllers[0] {
self.interactivePopGestureRecognizer!.delegate = self.popDelegate
} else {
self.interactivePopGestureRecognizer!.delegate = nil
}
}
}