gpt4 book ai didi

swift - 返回初始 View Controller 时选项卡栏消失

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

我有 2 个 View Controller ,然后选项卡栏 Controller 连接到 3 个导航 Controller ,每个导航连接到多个 View 。从连接到导航 Controller 之一的这些 View 之一中,我想再次返回到开始屏幕,这两条线很好:

let loginViewController = self.storyboard?.instantiateViewController(withIdentifier: "LoginViewController")
UIApplication.shared.keyWindow?.rootViewController = loginViewController

但是在我执行此操作并想要再次导航到选项卡栏后,它从 View 中消失了。我用它导航到标签栏:

let appDelegate = UIApplication.shared.delegate as! AppDelegate
let viewTabController = self.storyboard?.instantiateViewController(withIdentifier :"MainTabBarController") as! MainTabBarController
viewTabController.selectedIndex = 1

appDelegate.window?.rootViewController = viewTabController

提前致谢。

最佳答案

当您使用instantiateViewController时,您正在内存中创建 View Controller 的新实例,而您的情况不需要,您之前已经创建了它们。因此您可以关闭您的 tabBar 并返回到第一个屏幕,如下所示(初始 viewcontroller 必须嵌入到导航 Controller 中):

let appDelegate = UIApplication.shared.delegate as! AppDelegate
let navigationController = appDelegate.window?.rootViewController as! UINavigationController
navigationController.dismiss(animated: true, completion: nil)

要恢复 tabBar,您可以将其实例保存在应用程序委托(delegate)中并呈现它,或者使用 Storyboard segue 以模态方式呈现它:)

关于swift - 返回初始 View Controller 时选项卡栏消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49650510/

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