gpt4 book ai didi

ios - 用户使用 Firebase 注销后根 Controller UINavigationBar 消失

转载 作者:行者123 更新时间:2023-11-29 06:00:44 26 4
gpt4 key购买 nike

我的 UINavigationBar 遇到了一个小问题。

我有一个初始 Root View Controller (ViewController),后跟 2 个 View Controller (LoginMRNViewController 和 LoginOTPViewController),用于使用一次性密码登录用户。我还使用 NavigationController 在用户登录后将其导航到他/她的主页。在主页中,我有一个(注销)按钮,可以使用 Firebase 注销用户并将其导航到初始 Root View Controller (ViewController)。

UINavigationBar 的工作方式就像一个魅力,但是,每当用户注销时,他都会导航到初始 Root View Controller (ViewController),但 UINavigationBar 完全消失!

我的注销功能:

@IBAction func logoutPressed(_ sender: Any) {
do {
try Auth.auth().signOut()

self.performSegue(withIdentifier: "goToLoginScreen", sender: self)
print ("User logged out")
} catch let error {
print ("Failed to logout with error", error)
}
}

这是我的 Storyboard好像。

编辑:

我尝试将其放入 ViewWillAppear 方法中的初始 Root View Controller (ViewController) 和其他 2 个 View Controller (LoginMRNViewController 和 LoginOTPViewController)中,但不幸的是它不起作用。

self.navigationController?.setNavigationBarHidden(false, animated: false)
tabBarController?.tabBar.isHidden = false

这是我的更新方式 Storyboard看起来像。

最佳答案

不要添加另一个 NavigationController 来隐藏后退按钮。

添加navigationItem.setHidesBackButton(true,animated: true)以隐藏后退按钮。

然后在注销时只需添加 self.navigationController?.popToRootViewController(animated: true)

它应该按预期工作。

关于ios - 用户使用 Firebase 注销后根 Controller UINavigationBar 消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54699114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com