【发布时间】:2012-11-06 15:07:54
【问题描述】:
我有 3 个视图控制器,vcA、vcB 和 vcC。
我在vcA 并推送vcB。它有效。
当我尝试从vcB 推送vcC 时,它失败了。我看到vcB 的self.navigationController 属性是nil。
阅读有关此属性的帮助文件,我看到:
如果视图控制器没有嵌入到导航控制器中,则此属性为零。
所以,vcB 可能不在导航控制器内部。
我的问题是,self.navigationController pushViewController:vcB ... 是否足以在导航控制器上嵌入vcB?如果没有,我如何在导航控制器上嵌入vcB?
注意:vcA 是基于 Interface Builder 构建的,vcB 和 vcC 是通过编程方式创建的。
【问题讨论】:
-
你能贴一些代码吗?从概念上讲,这听起来像是你做对了。我假设
vcA最初是通过被推送到导航控制器的视图堆栈来显示的。 -
好的,但我的问题是:我在导航控制器上嵌入了 vcA,这是在界面生成器中完成的。现在,如何在导航控制器上嵌入第二个视图控制器 (vcB)?此 vcB 是在 vcA 内以编程方式创建的。
-
是的,您可以使用 pushViewController 方法推送其他控制器,但显示您的代码以查看问题所在。
-
你不是在 vcB 中创建一个名为 navigationController 的属性吗?
-
如果您确实找到了,请记得在此处发布您的修复,以便我们知道发生了什么。如果你找不到,我很乐意私下看看,如果你能分享的话。
标签: ios uiviewcontroller uinavigationcontroller uikit