0

我有 3 个视图控制器vcAvcBvcC.

我在vcAvcB。有用。

当我尝试从中推送vcCvcB,它失败了。我看到了is的self.navigationController属性。vcBnil

阅读有关此属性的帮助文件,我看到:

如果视图控制器未嵌入导航控制器,则此属性为零。

所以,vcB可能不在导航控制器内部。

我的问题是,是否self.navigationController pushViewController:vcB ...足以嵌入vcB导航控制器?如果没有,我如何嵌入vcB导航控制器?

注意:vcA建立在 Interface Builder 之上,vcBvcC以编程方式创建。

4

2 回答 2

0

3天后,我终于解决了这个问题。

这个问题是我的 viewController 和 navigationController 之一连接到了委托的 rootViewController 插座。感谢 Xcode 没有指出这一点!抱歉,我不得不再说一遍,我现在比以往任何时候都更讨厌 Xcode 4。

这个问题的解决方案与我遇到的另一个问题有关,可以在这里看到:https ://stackoverflow.com/a/13280574/316469

多谢你们。

于 2012-11-08T00:20:15.943 回答
0

尝试以这种方式定义您的 viewController int:

在vcA中定义vcB

@property (nonatomic, strong) UIViewController *vcB;

@synthesize vcB = _vcB;

然后将其推入堆栈。

[self.navigationController pushViewController:self.vcB animated:YES];

在vcB中定义vcC

@property (nonatomic, strong) UIViewController *vcC;

@synthesize vcC = _vcC;

然后将其推入堆栈。

[self.navigationController pushViewController:self.vcC animated:YES];
于 2012-11-06T15:54:13.120 回答