gpt4 book ai didi

swift - 后退按钮将我带到错误的 View Controller

转载 作者:行者123 更新时间:2023-11-28 13:36:46 25 4
gpt4 key购买 nike

我有一个我正在使用的 Storyboard,它是这样设置的:

登录屏幕 -> 选项卡栏 Controller -> 导航 Controller -> 屏幕 1 转到屏幕 2 转到屏幕 3。

我第一次登录时,一切正常。屏幕 1 转到屏幕 2,屏幕 2 转到屏幕 3,然后您可以使用后退按钮返回屏幕 2,然后返回屏幕 1。但是,我有一个“注销”功能(下面的代码,虽然我没有认为这与我的问题有关),在我“注销”后,它会将我带到登录屏幕(上面序列中的第一个屏幕)。当我再次登录时,导航到屏幕 2 或屏幕 3,从 segue 按下后退按钮会带我回到登录屏幕,而不是之前的屏幕 1 或屏幕 2。

@objc func logOut(){
let homeView = self.storyboard?.instantiateViewController(withIdentifier: "LoginViewController") as! LoginViewController
self.navigationController?.pushViewController(homeView, animated: true)
homeView.navigationItem.hidesBackButton = true
}

最佳答案

我不确定再次实例化 LoginViewController 是否是最佳实践,因为您已经在导航堆栈中拥有它。我建议做这样的事情:

@objc func logOut(){
self.navigationController?.popToRootViewControllerAnimated(true)
}

这将从导航堆栈中删除所有 View Controller ,并为您提供一个 Root View Controller (LoginViewController)

关于swift - 后退按钮将我带到错误的 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56510609/

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