正确的解决方式 https://blog.csdn.net/zyx980193917/article/details/103263217/
push pop 有导航跳无导航,跳有导航;无导航跳有导航,跳无导航;都平滑过渡
基类
var isShowNav = true
基类
override func viewWillAppear(_ animated: Bool) {super.viewWillAppear(animated)if self.isShowNav {navigationController?.setNavigationBarHidden(false, animated: animated)} else {navigationController?.setNavigationBarHidden(true, animated: animated)}}
子类默认都有导航,哪个页面需要隐藏导航就调用下面的方法,原理就是 viewDidLoad 优先于 viewWillAppear 执行
override func viewDidLoad() {super.viewDidLoad()self.isShowNav = false}