UIWindow的rootViewController注意事项

时间:2013-07-18 04:00:43

标签: ios uiviewcontroller appdelegate uiwindow rootview

我一直在阅读几篇关于切换窗口rootViewController的帖子,有时会说在整个应用程序的生命周期中保持相同的rootViewController比切换它和其他帖子更好与在应用程序的某个位置更改rootViewController有关。我对此感到困惑,我在Apple的文档中找不到关于这一点的任何建议。

当您在应用中可能有不同的内容视图控制器时,最佳做法是什么?例如,假设您有一个标签式应用(UITabBarController),您希望首先显示登录或注册的欢迎视图(UINavigationController):

1)使用固定rootViewController的方法。我认为您应该将UITabBarController设置为rootViewController,因为应用的核心是标签式的,但如果需要用户凭据,则在UINavigationController内设置UITabBarController ,隐藏标签栏,推送欢迎视图并导航到登录/注册视图控制器。

2)方法转换rootViewController。首先,如果需要用户凭据,请将UINavigationController设置为rootViewController以显示欢迎视图并导航到登录/注册,并在成功提供用户凭据或帐户成功创建后,切换{ {1}}向rootViewController显示核心标签应用。

如果最佳通用方法是根据需要切换UITabBarController,您需要考虑哪些内存管理注意事项?我应该在AppDelegate(rootViewControllerstrong)中拥有两个UITabBarController属性吗?那么在切换UINavigationController时视图控制器之间的转换怎么样?它会是平滑的,还是应该为它设置动画?

提前致谢

1 个答案:

答案 0 :(得分:0)

切换rootViewController的方法很合适。首先,如果需要用户凭据,请将UINavigationController设置为rootViewController以显示欢迎视图并导航到登录/注册,并在成功提供用户凭据或帐户成功创建后,将rootViewController切换到{{ 1}}显示核心标签应用

如果您想在tabbarcontroller中存储用户凭据。将它们存储在主要包中的UITabBarControllerNSUserDefaults中,或者在文档目录中创建。