2012-04-18 71 views
2

假设我有一个带导航控制器和多个视图控制器的故事板。将现有的UINavigationController嵌入到新的视图控制器中

一切都好,直到我试图添加一个新的视图控制器,并希望将其与现有UINavigationController关联。当我去编辑器>嵌入>导航控制器时,Xcode帮助创建一个新的控制器,这正是我不想要的。当我尝试拖动以创建线框时,我创建了一个segue关系,这又是我不想要的。

有没有办法让新的视图控制器与现有的导航控制器打好?

+0

如果不通过push segue,您的新视图控制器将如何与您的导航控制器相关联? – jonkroll 2012-04-18 00:28:51

+0

不应该有另一个关联吗?当我嵌入一个新的导航控制器时,Xcode不会创建push segues,而是一种不同类型的导线连接 – 2012-04-18 00:30:37

+0

另外,当我创建一个push segue时,视图控制器的高度在运行时不会调整,导航控制器的导航栏将遮蔽视图的顶部。我注意到项目中的视图最初不会遭受这种情况,只有稍后添加的视图才会通过push segue连接到导航控制器。 – 2012-04-18 00:32:56

回答

4

我想你错误地想到了UINavigationController。 UINavigationController只是一个容器视图控制器,用于管理视图控制器的层次结构。你从一个UINavigationController开始,它只有一个根视图控制器(听起来你想要多于一个,这不会发生)。当你推送一个新的视图控制器时,它被推送到同一个UINavigationController上。所以如果你想让多个视图控制器与单个UINavigationController相关联,他们必须分层堆栈到根视图控制器上。

相关问题