优雅解决iOS导航栏跳转或返回时不流畅,卡白条问题。

 

正确的解决方式  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
  
    }

 

posted @ 2025-03-06 17:37  黄增松  阅读(60)  评论(0)    收藏  举报