popToRootViewController 未按预期工作
Posted
技术标签:
【中文标题】popToRootViewController 未按预期工作【英文标题】:popToRootViewController is not working as expected 【发布时间】:2021-01-13 07:14:14 【问题描述】:我是 ios 开发新手。所以请帮我解决这个简单的问题。我的应用程序的初始屏幕是登录屏幕。当我正在运行或构建登录屏幕时按预期显示。但是当我按下注销按钮来使用“popToRootViewController”登录时,故事板登录屏幕显示而不是原始登录屏幕。
当我按下登录按钮导航到主屏幕时,
let mainVC = self.storyboard?.instantiateViewController(withIdentifier: "MainVC")
self.navigationController?.pushViewController(mainVC!, animated: true)
在主屏幕中,我有带有 5 个标签的标签控制器,最后一个标签是注销,当我按下注销时,代码如下。
let defaults = UserDefaults.standard
defaults.removeObject(forKey: "isLoggedin")
defaults.removeObject(forKey: "user")
defaults.synchronize()
self.navigationController?.popToRootViewController(animated: true)
我在想的是,当我按下注销并进入登录屏幕时,viewcontroller 代码没有被执行。我不确定它为什么会这样工作。请让我知道或帮助我解决此问题。提前谢谢..
【问题讨论】:
它是应用程序的rootviewcontroller,我不是通过代码手动调用它.. 注销按钮按下的是哪个屏幕? 你可以试试“popViewController”而不是“popToRootViewController”。 @HimanshuPatel 注销按钮在主屏幕或 mainVC.. @malli - 是否可以附加您尝试过的代码 【参考方案1】:这是您获取 Storyboard 引用和对您的 MainVC 的引用的方式吗?
let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let mainVC = storyBoard.instantiateViewController(withIdentifier: "MainVC") as! MainVC
self.navigationController?.pushViewController(mainVC, animated: true)
【讨论】:
以上是关于popToRootViewController 未按预期工作的主要内容,如果未能解决你的问题,请参考以下文章
popToRootViewController 未按预期工作
需要用 popToRootViewController 发布中间视图吗?
从另一个选项卡调用 popToRootViewController