Ios 视图控制器设置

Ios 视图控制器设置,ios,uinavigationcontroller,uitabbarcontroller,Ios,Uinavigationcontroller,Uitabbarcontroller,我试图找出最好的方法,让我的视图控制器设置根据我的设计。我的应用程序以全屏登录屏幕开始。用户登录后,下一个视图是3选项卡屏幕。在3个选项卡式视图中单击任何控件时,需要将您带到全屏视图控制器 现在我面临的问题是 1指导原则说不要将TabBarController放在NavigationController中,在这种情况下,我必须这样做。 2另外,如果我将每个TabBarView的ViewControllers设置为导航控制器,那么我就不会得到全屏空间,因为底部总是显示我不需要看到的选项卡栏 我非常

我试图找出最好的方法,让我的视图控制器设置根据我的设计。我的应用程序以全屏登录屏幕开始。用户登录后,下一个视图是3选项卡屏幕。在3个选项卡式视图中单击任何控件时,需要将您带到全屏视图控制器

现在我面临的问题是 1指导原则说不要将TabBarController放在NavigationController中,在这种情况下,我必须这样做。 2另外,如果我将每个TabBarView的ViewControllers设置为导航控制器,那么我就不会得到全屏空间,因为底部总是显示我不需要看到的选项卡栏


我非常感激你的想法和建议

我设置它的方法是使用一个全局容器视图控制器来管理所有内部视图控制器。例如:

=============================
= Container View Controller =
=============================
     |              |
------------   -----------
- Login VC -   - Main VC -
------------   -----------
然后,应用程序启动的工作流如下所示:

应用程序启动,容器/飞溅视图控制器是根视图控制器。 容器视图控制器确定登录状态,显示加载指示器,等等。 转换到正确的视图控制器。 如果用户未登录,则可以转换到登录视图控制器。从那里,您可以订阅一个委托回调或一个通知,该通知将在用户登录后发送。收到该消息后,您可以重新检查登录状态并相应地显示视图控制器

如果用户在开始或收到登录回调后登录,则只显示主视图控制器


注销的工作方式与登录相同。只需将通知推送到容器视图控制器,并让它相应地管理视图控制器。

我个人会使用tabBarController作为初始视图控制器。如果用户未登录,请立即以模态方式显示您的登录视图控制器。用户登录后,关闭登录控制器,并返回tabBarController。将每个选项卡的视图控制器包装在导航控制器中,但在按下时设置HidesBottomBar以隐藏选项卡栏