iOS - 带导航控制器和后退按钮问题的Tabbar

时间:2013-12-31 11:50:15

标签: ios uinavigationcontroller uitabbarcontroller

我有一个问题,我不知道如何解决。我的故事板看起来像这样:

NavigationController -> ViewController (Start) -> TabBarController

然后我将ViewController连接到TabBarController,并且每个NavigationController都嵌入ViewControllers

我的问题是当我点击这些嵌入式Back来推送视图然后点击ViewController (Start)按钮时,它会将我带到根TabBarController,但我想要去在{{1}}内退一步。

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:0)

我相信TabBarController必须始终是您应用中的顶级控制器。从那里你可以级联到单独的ViewControllers,它们可以嵌入到NavigationControllers中,也可以不嵌入。但TabBarController必须是层次结构中的起点。

你仍然可以在TabBarController下的某个地方使用你的Start VC,你可以隐藏tabbar,也可以模态显示Start VC(仍然在全屏幕上的viewdidload中没有任何菜单),然后在任何需要的地方放松。

答案 1 :(得分:0)

你的TabBarController应该是NavigationController的rootViewController,

因此,故事板的流程必须如此,

    NavigationController -> TabBarController -> ViewControllers

答案 2 :(得分:0)

假设您的层次结构如下

NavigationController -> ViewController (Start) -> TabBarController -> NavigationController1
                                                                   -> NavigationController2
                                                                   -> NavigationController3 
                                                                   -> NavigationController4           
                                                                   -> NavigationController5

在每个子视图控制器中,您可以编写

[self.navigationController popViewControllerAnimated:YES];

希望这能解决你的问题。