我一直在阅读有关切换rootViewController
窗口的几篇文章,有时有人说rootViewController
在整个应用程序的生命周期中保持相同比切换它更好,而其他帖子与rootViewController
在应用程序的某个时间点更改有关。我对此感到困惑,并且在 Apple 的文档中找不到关于这一点的任何建议。
当您的应用程序中可能有不同的内容视图控制器时,最佳实践应该是什么?例如,假设您有一个选项卡式应用程序 ( UITabBarController
),您希望首先显示登录或注册 ( UINavigationController
) 的欢迎视图:
1) 使用固定的方法rootViewController
。我认为您应该将 设置UITabBarController
为rootViewController
,因为应用程序的核心是选项卡,但如果需要用户凭据,则UINavigationController
在 中设置 a UITabBarController
,隐藏选项卡栏,以推送欢迎视图并导航到登录/注册视图控制器。
2)接近切换rootViewController
。首先,如果需要用户凭据,将 设置UINavigationController
为rootViewController
以显示欢迎视图并导航到登录/注册,一旦成功提供用户凭据或成功创建帐户,切换rootViewController
到UITabBarController
以显示核心选项卡式应用程序。
如果最好的通用方法是根据需要进行切换rootViewController
,您会考虑哪些内存管理注意事项?我是否需要strong
在 AppDelegate (UITabBarController
和UINavigationController
) 中有两个属性?切换时视图控制器之间的过渡又如何rootViewController
:它是平滑的,还是应该为它设置动画?
提前致谢