iOS 自定义导航栏侧滑手势失效

最近在写项目的时候需要重新定义导航栏.所以隐藏了系统自带的导航栏,啪啪啪,就是一通干

let containerVC = AppNavigationController(rootViewController: rootVC)
containerVC.navigationBar.isHidden = true

想不到的是控制器的侧滑失效了


iOS 自定义导航栏侧滑手势失效_第1张图片
黑人问号

先上解决方案.

重新定义导航栏控制器,并在初始化方法里面隐藏系统导航栏:like
class AppNavigationController: UINavigationController {
    
    override init(rootViewController: UIViewController) {
        super.init(rootViewController: rootViewController)
        self.navigationBar.isHidden = true
    }
    
    override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
        super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}

网上也有一些解决方案,只要加上这句代码

containerVC.interactivePopGestureRecognizer?.delegate = self

你可能感兴趣的:(iOS 自定义导航栏侧滑手势失效)