我已经读了几篇关于切换窗口rootViewController的帖子,有时有人说在应用程序的整个生命周期中保持相同的rootViewController比切换它更好,还有一些帖子是关于在应用程序的某个时刻更改rootViewController的。我对此感到困惑,我在苹果的文档中找不到任何关于这一点的建议。
当一个应用程序中可能有不同的内容视图控制器时,最佳实践应该是什么?例如,假设您有一个选项卡式应用程序(UITabBarController),您希望首先显示用于登录或注册的欢迎视图(UINavigationController):
1)使用固定rootViewController的方法。我认为您应该将UITabBarController设置为rootViewController,因为应用程序的核心是选项卡式的,但如果需要用户凭据,则在UITabBarController中设置一个UINavigationController,隐藏选项卡栏,以推送欢迎视图,并导航到登录/注册视图控制器。
2)方法切换rootViewController。首先,如果需要用户凭据,将UINavigationController设置为rootViewController以显示欢迎视图,并导航到Sign In/Sign Up,一旦成功提供用户凭据或成功创建帐户,将rootViewController切换到UITabBarController以显示核心选项卡式应用程序。
如果最好的通用方法是根据需要切换rootViewController,那么您需要考虑的内存管理考虑因素是什么?我是否需要在AppDelegate中有两个strong属性(UITabBarController和UINavigationController)?切换rootViewController时视图控制器之间的过渡如何:它将是平滑的,还是应该为其设置动画?
提前感谢
发布于 2013-07-18 13:00:22
切换rootViewController的方法很适合。首先,如果需要用户凭据,请将UINavigationController设置为rootViewController以显示欢迎视图,并导航到登录/注册,成功提供用户凭据或成功创建帐户后,将rootViewController切换到UITabBarController以显示核心选项卡式应用程序
如果您想要在tabbarcontroller中存储用户凭据。将它们存储在您的主包中的NSUserDefaults或plist中,或者在文档目录中创建。
https://stackoverflow.com/questions/17714296
复制相似问题