【问题标题】:Push Segue Not Working推送 Segue 不工作
【发布时间】:2014-07-21 19:08:06
【问题描述】:

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

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

而我想继续使用的导航控制器由标签栏控制器管理。

【问题讨论】:

  • 您正在执行推送的控制器需要嵌入到导航控制器中。您通常不会推送到另一个导航控制器(这会给您两个导航栏)。你应该重新考虑你的设计。

标签: ios objective-c xcode ios7 segue


【解决方案1】:

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

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

不过,在您执行此操作后,您可能仍会遇到崩溃或某种错误。不允许将 UINavigationController 推送到现有的导航控制器堆栈上。

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

否则我会质疑您为什么要尝试推送而不是模态。在呈现新的导航堆栈时,通常将堆栈呈现为模式。就我个人而言,尝试在现有堆栈中呈现新堆栈对我来说是错误的。

【讨论】:

  • 不会使用模态转场,将初始视图控制器保留在新视图下吗?所以这是我正在尝试做的事情的图片。我想从登录屏幕转到由导航栏和表格视图组成的选项卡。 cl.ly/image/3c002K3r0Z18
猜你喜欢
  • 1970-01-01
  • 2016-10-04
  • 2014-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-23
相关资源
最近更新 更多