swift从带导航二级界面测滑返回一级不带导航界面留白问题

很多时候首页导航需要自定义而二级界面导航需要保留.这种情况下右滑手势返回上一级自定义导航界面就会出现留白情况
自用解决方案如下:


swift从带导航二级界面测滑返回一级不带导航界面留白问题_第1张图片
屏幕快照 2019-02-13 上午10.09.11.png

在一级界面父类中设置self为导航控制器的代理,实现willShow viewController代理方法,控制导航栏隐藏和显示,使用这种方式可以解决滑动返回手势留白问题

deinit {
        self.navigationController?.delegate = nil
    }
    override func viewDidLoad() {
        super.viewDidLoad()
        self.navigationController?.delegate = self
    }
extension CSBaseMainViewController : UINavigationControllerDelegate{
    func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) {
        let isHome = viewController.isKind(of: self.classForCoder)
        self.navigationController?.setNavigationBarHidden(isHome, animated: true)
    }
}

你可能感兴趣的:(swift从带导航二级界面测滑返回一级不带导航界面留白问题)