4

假设第一个视图控制器与 UITabBarController 连接,我想从第一个视图控制器向第二个视图控制器进行推送。

从我的谷歌搜索来看,来自与 UITabBarController 连接的视图控制器的模态转场似乎隐藏了底部标签栏,而推送转场则没有。但是,我的 push segue 也将我的标签栏隐藏在第二个视图控制器中。我在第一个视图控制器中覆盖了 prepareForSegue 方法。

下面是我的故事板和模拟器的图像。任何人都知道为什么会这样?预先感谢您的帮助。 右下角的视图控制器似乎在情节提要中有底部标签栏,但模拟器没有显示它 TT

在此处输入图像描述

4

1 回答 1

11

您的问题是因为您的 tabViewController 嵌入在您使用登录屏幕初始化的导航堆栈中。

您需要重新排列一些东西,以便您的每个标签栏控制器标签打开到一个新的导航堆栈。

我的建议

  • 您的登录屏幕应该使用模态/呈现转场导航到您的标签栏控制器,而不是推送转场。删除包含登录屏幕的 navController,您不需要它(好吧,即使您保留它,也不要使用 push segue,使用模态 segue,然后您就不会再引用该 navController 的 viewController 堆栈从您的标签栏内)。

  • 将第一个 viewController 中的每一个嵌入到单独的 navController 中的 tabViewCONtroller 中。

现在您可以在 tabViewController 的选项卡中推送 segue。

于 2013-02-04T20:40:02.363 回答