弹出到根视图控制器时导航栏消失

Posted

技术标签:

【中文标题】弹出到根视图控制器时导航栏消失【英文标题】:Dissapearing navigation bar when pop to root view controller 【发布时间】:2021-06-15 15:32:53 【问题描述】:

当我单击注销按钮时,我想回到应用程序中的第一个视图控制器,它具有登录注册按钮。但是当我这样做时,我在 loginVC 和 registerVC 中丢失了导航栏(但是当我成功登录时,导航栏正常工作)。我试过用代码来做

 @IBAction func logoutButtonPressed(_ sender: UIButton) 
      
        self.navigationController?.navigationController?.popToRootViewController(animated: true)

        do 
            try firebaseAuth.signOut()
         catch let signOutError as NSError 
            print("Error signing out: %@", signOutError)
        
    

但我也尝试过使用 unwind segue 来做到这一点。在这两种情况下,我在 loginVC 和 registerVC 中都丢失了导航栏。当我重置我的应用时,一切都很好,我的导航栏又回来了。

这是故事板的结构

我的带有注销按钮的故事板位于该故事板引用的一个末尾。

【问题讨论】:

【参考方案1】:

尝试在根视图控制器的 viewWillAppear 方法中添加此代码

self.navigationController?.isNavigationBarHidden = false

【讨论】:

以上是关于弹出到根视图控制器时导航栏消失的主要内容,如果未能解决你的问题,请参考以下文章

iOS禁用按标签栏按钮弹出到根视图

将带有可见导航栏的视图控制器弹出到带有隐藏导航栏的视图控制器时,带有 interactivePopGestureRecognizer 的黑色区域

弹出到根视图控制器,没有表视图的动画崩溃

当我在 iPhone 的导航栏上单击返回时,如何弹出到所需的视图控制器

标签栏第二次点击弹出到导航控制器 - 如何停止它

选项卡栏,当来自另一个选项卡的视图控制器时弹出到根视图控制器(默认 vc)