2012-05-29 170 views
1

我有以下情况:我从一个登录屏幕开始(我希望没有工具栏或标签栏。)用户登录后,我想显示一个带有多个选项的选项卡栏,每个选项都可以向下钻取进入他们自己的视图层次。因此,每个选项卡都必须具有导航控制器功能。如何处理标签栏控制器内的导航控制器?

因此,最直接的解决方案是有一个标签栏控制器,然后让每个部分(总共3个)都有自己的导航控制器。但是,问题是我希望整个应用程序中的每个页面都有一个注销按钮,这将使其返回到第一个屏幕。

我可以从每个页面的注销按钮回到开始,但这似乎是错误的。我也可以将标签栏控制器放置在导航控制器中;但是我听说导航控制器应该总是在标签栏控制器内部,并且永远不会相反。

任何建议

回答

2

如果对每个UINavigationController的根视图控制器是登录界面,为什么不干脆让分配给self.navigationItem.rightBarButtonItem每个相应的视图退出按钮。点击后,它可以调用您的注销功能,然后popToRootViewControllerAnimated:带你回到登录屏幕。

你可以在你想要的任何视图中使用setNavigationBarHidden:animated:或不想显示导航栏。

1

将您的“登录”屏幕显示为导航控制器标签栏控制器顶部的模式视图控制器。每当你在该应用的任何注销你提出一个新的模态登录视图,然后可以重置您的其他控制器的状态,当他们不再可见。在登录时,您会关闭模式并显示标签栏控制器及其包含的内容。

相关问题