查看控制器设置

时间:2014-09-30 18:06:22

标签: ios uinavigationcontroller uitabbarcontroller

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

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

很高兴地感谢您的想法和指示。

2 个答案:

答案 0 :(得分:0)

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

=============================
= Container View Controller =
=============================
     |              |
------------   -----------
- Login VC -   - Main VC -
------------   -----------

然后,应用启动的工作流程如下:

  1. 应用程序启动,容器/启动视图控制器是根视图控制器。
  2. 容器视图控制器确定登录状态(可能显示加载指示符等)。
  3. 转换到正确的视图控制器。
  4. 如果用户未登录,您可以转换到登录视图控制器。从那里,您可以订阅委托回调或一旦用户登录就会被分派的通知。收到该消息后,您可以重新检查登录状态并相应地显示视图控制器。

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

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

答案 1 :(得分:0)

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

相关问题