当自定义leftBarButtonItem(s)左边缘滑动失效时

来源:互联网 发布:adobe ps mac 破解版 编辑:程序博客网 时间:2024/06/06 08:23

如何开启:

1.ViewController实现 UIGestureRecognizerDelegate 协议

class YourViewController: UIGestureRecognizerDelegate {    func viewDidLoad() {        navigationItem.setLeftBarButtonItems([...,...])   // swipe back 失效了        self.navigationController?.interactivePopGestureRecognizer.delegate = self    // 启用 swipe back    }}

若想禁用Swipe back,可以在viewWillAppear 或者 viewDidAppear里关闭它:

override func viewDidAppear(animated: Bool) {                navigationController?.interactivePopGestureRecognizer.enabled = false // disable pop gesture    }

需要注意的是,启用swipe back对当前NavigationController管理的所有viewcontrollers有效,不需要所有的ViewController都调用那个方法,只要保证在同一个UINavigationController里即可。

0 0