1

我有以下情况:我从登录屏幕开始(我希望没有工具栏或标签栏。)用户登录后,我想显示一个标签栏,其中包含多个选项,每个选项都可以深入到他们的自己的视图层次结构。因此,这些选项卡中的每一个都必须具有导航控制器功能。

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

我可以从每个页面的注销按钮开始,但这似乎是错误的。我还可以将标签栏控制器放在导航控制器中;但是我听说导航控制器应该始终在标签栏控制器内,而不是相反。

有什么建议么

4

2 回答 2

2

如果每个 UINavigationController 的根视图控制器是登录屏幕,为什么不self.navigationItem.rightBarButtonItem为每个适当的视图分配一个注销按钮。单击时,它可以调用您的注销功能,然后popToRootViewControllerAnimated:将您带回登录屏幕。

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

于 2012-05-29T17:36:23.440 回答
1

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

于 2012-05-29T17:39:48.030 回答