假设第一个视图控制器与UITabBarController连接,我想从第一个视图控制器向第二个视图控制器进行推送 .
从我的谷歌搜索,似乎来自与UITabBarController连接的视图控制器的模态segue隐藏了底部标签栏,而push segue则没有 . 但是,我的push segue也隐藏了第二个视图控制器中的标签栏 . 我在第一个视图控制器中覆盖了prepareForSegue方法 .
下面是我的故事栏和模拟器的图像 . 任何人都知道为什么会这样?提前感谢您的帮助 .
您的麻烦是因为您的tabViewController嵌入在您使用登录屏幕初始化的导航堆栈中 .
您需要重新排列内容,以便每个标签栏控制器选项卡都打开到新的导航堆栈 .
我的建议
你的登录屏应该导航到你的标签栏控制器,带有模态/呈现segue,而不是push segue . 删除包含登录屏幕的navController,你不需要它(好吧,即使你保留它,不要使用push segue,使用模态segue,然后你不会再引用那个navController的viewController堆栈从标签栏内部) .
将每个第一个viewControllers嵌入到tabViewCOntroller中的一个单独的navController中 .
现在,您可以在tabViewController的选项卡中推送segue .
1 回答
您的麻烦是因为您的tabViewController嵌入在您使用登录屏幕初始化的导航堆栈中 .
您需要重新排列内容,以便每个标签栏控制器选项卡都打开到新的导航堆栈 .
我的建议
你的登录屏应该导航到你的标签栏控制器,带有模态/呈现segue,而不是push segue . 删除包含登录屏幕的navController,你不需要它(好吧,即使你保留它,不要使用push segue,使用模态segue,然后你不会再引用那个navController的viewController堆栈从标签栏内部) .
将每个第一个viewControllers嵌入到tabViewCOntroller中的一个单独的navController中 .
现在,您可以在tabViewController的选项卡中推送segue .