当您想在带有 TabBarController 的应用程序中将 LoginViewController 呈现为“ModalViewController”时,我正在寻找有关最佳实践方法的反馈。
情况是这样的: - 应用程序支持具有登录/注销功能的用户会话 - 当应用程序启动时,它会尝试自动登录并直接显示 TabBarController 或 LoginViewController(显示为 ModalViewController 以在登录时启用关闭动画) - 应用程序有一个带有多个选项卡的 TabBarController。- 每次显示 ViewController 时都会检查用户的状态 - 如果用户未登录 ModalViewController,则应显示具有登录功能 - 如果用户手动注销,则应显示相同的 ModalViewController
我试图想出几种不同的设计来处理这个问题,没有人觉得完全“正确”。我曾在一个项目中使用子类 UIWindow 处理此问题,该子类 UIWindow 替换了应用程序的默认 UIWindow。然后子类侦听不同的通知,例如“UserLoggedInSuccessfully”、“UserLoggedOut”等,以处理 ModalViewController 的呈现。
还有其他解决方案吗?我将不胜感激这种解决方案的任何输入和经验。