0
[PersonListNav pushViewController:plist animated:FALSE];Hi there! :) Googling this has returned no luck...

简而言之,我有 UINavigationController (Named PersonListNav),它在我的主 xib 内部实例化......

我还有一个名为 plist 的自定义视图控制器。

我打电话:

[PersonListNav pushViewController:plist animated:FALSE];

在我的应用程序委托的 didFinishLauchingWithOptions 方法中。

它工作正常!除了一件事......有一个名为“根视图控制器”的后退按钮。所以我想“好吧,IB 一定是在为我推送它自己的空视图,我需要做的就是先弹出它……”

我尝试了以下代码:

[PersonListNav popViewControllerAnimated:FALSE];
[PersonListNav pushViewController:plist animated:FALSE];

发现同样的事情正在发生。

作为最终测试,我尝试反转这两个调用!

[PersonListNav pushViewController:plist animated:FALSE];
[PersonListNav popViewControllerAnimated:FALSE];

这正如我所期望的那样工作——plist 视图控制器永远不会出现——这个“根视图控制器”是当前显示的视图。

所以,这是我的两难境地,看来我不能从我的堆栈中弹出这个根视图控制器,用别的东西代替它!您将如何以编程方式使 plist 成为根控制器?

谢谢!

4

2 回答 2

1

didFinishLaunchingWithOptions 你初始化的时候PersonListNav

请执行下列操作

//set root view controller to plist controller
PersonListNav *nav = [PersonListNav initWithRootViewController:plist];
self.window.rootViewController = nav;
于 2012-06-11T21:14:35.973 回答
0

在您的 didFinishLaunchingWithOptions 中,您正在使用 rootViewController 创建您的 navigationController,但您可以使用自定义视图控制器创建它,您将永远不需要 rootViewController。您是否使用它为您设置的默认代码?

于 2012-06-11T21:13:17.720 回答