推送Segue不工作

时间:2014-06-01 15:30:17

标签: ios objective-c xcode ios7 segue

当我使用故事板连接push segue时,从视图控制器到导航控制器,当我尝试在那里导航时应用程序崩溃,错误控制台显示: '推送segues只能在源控制器由UINavigationController实例管理时使用。'

如何在这两个控制器之间进行切换(不使用模态)。

我想要转向的导航控制器由标签栏控制器管理。

1 个答案:

答案 0 :(得分:0)

好的,这里有一些问题。让我们从你得到的错误开始。

源控制器似乎没有与之关联的UINavigationController。在您的故事板中,我将单击源视图控制器,然后单击“编辑器”菜单> “嵌入”> “导航控制器”。这将确保源控制器现在由导航控制器管理。

在你这样做之后,你可能仍会遇到崩溃或某些错误。您不能将UINavigationController推送到现有导航控制器堆栈。

我会后退一步,看看你在这里想要完成的事情。如果您只是希望标签栏消失,那么您可以选中“按下时隐藏底栏”,然后当您按下视图控制器时,它看起来就像是推动了一个全新的导航控制器。

否则我会质疑为什么你要推动而不是模态。在呈现新的导航堆栈时,通常的做法是将堆栈呈现为模态。就个人而言,尝试在现有堆栈中呈现新堆栈感觉不对。