Ios 推送序列不工作

Ios 推送序列不工作,ios,objective-c,xcode,ios7,segue,Ios,Objective C,Xcode,Ios7,Segue,当我使用情节提要将推送序列从视图控制器连接到导航控制器时,当我尝试在其中导航时,应用程序崩溃,错误控制台显示: '仅当源控制器由UINavigationController实例管理时,才能使用推送序列。' 如何在这两个控制器之间进行切换(不使用模态) 我要转到的导航控制器由一个选项卡栏控制器管理。好的,这里有一些问题。让我们从您遇到的错误开始 源控制器似乎没有与其关联的UINavigationController。在您的故事板中,我将单击源代码视图控制器,然后单击“编辑器”菜单>“嵌入”>“导航

当我使用情节提要将推送序列从视图控制器连接到导航控制器时,当我尝试在其中导航时,应用程序崩溃,错误控制台显示: '仅当源控制器由UINavigationController实例管理时,才能使用推送序列。'

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


我要转到的导航控制器由一个选项卡栏控制器管理。

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

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

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

我想退一步,看看你们在这里真正想要实现什么。如果您只是想让选项卡栏消失,那么可以勾选“按下时隐藏底部栏”,然后当您按下视图控制器时,它看起来就像您按下了一个全新的导航控制器


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

从中执行推送的控制器需要嵌入到导航控制器中。通常情况下,您不会推送到另一个导航控制器(这将为您提供两个导航条)。你应该重新考虑你的设计。难道不使用模态序列,将初始视图控制器保持在新视图下吗?这是一张我正在尝试做的图片。我想从登录屏幕转到由导航栏和表视图组成的选项卡。