gpt4 book ai didi

ios - 从 ViewController 重新定义 rootViewController

转载 作者:行者123 更新时间:2023-11-29 10:58:52 26 4
gpt4 key购买 nike

我制作的应用程序在第一次运行时有一个向导。之后,它应该呈现一个 UITabBarController。

用户第二次运行该应用时,它应该只显示 UITabBarController。

由于 UITabBarController 应该是 rootViewController,有没有办法重新定义应用程序 rootViewController,以便在向导结束时显示 TabBarController?

或者是否有更好的方法来完成该行为?

谢谢!!

最佳答案

是的,您可以从当前显示的任何 Controller 重新定义窗口的 Root View Controller 。您可以使用 self.view.window 获取对窗口的引用。因此,当您的向导结束时,只需实例化您的选项卡栏 Controller 并更改根:

UITabBarController *tbc = [self.storyboard instantiateViewControllerWithIdentifier:@"tbc"]; // or other instantiation method if not using a storyboard
self.view.window.rootViewController = tbc;

在应用程序委托(delegate)中,放置确定这是否是应用程序第一次运行的逻辑,如果不是,运行这个稍微修改过的代码以直接启动标签栏 Controller :

UIStoryboard *sb = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UITabBarController *tbc = [sb instantiateViewControllerWithIdentifier:@"tbc"]; // or other instantiation method if not using a storyboard
self.window.rootViewController = tbc;

关于ios - 从 ViewController 重新定义 rootViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16965898/

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