UINavigationController根视图(iOS)

时间:2012-06-11 21:09:41

标签: ios uinavigationcontroller rootview

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

简而言之,我有UINavigationController(命名为PersonListNav),它在我的主xib中实例化...

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

我打电话:

[PersonListNav pushViewController:plist animated:FALSE];

在我的app delegate的didFinishLauchingWithOptions方法中。

工作正常!除了一件事......有一个名为“Root View Controller”的后退按钮。所以我想“好吧,IB必须为我推动自己的空洞视图,我需要做的就是先弹出......”

我尝试了以下代码:

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

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

作为最后的测试,我试着倒转两个电话!

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

这就像我期望的那样 - plist视图控制器永远不会出现 - 这个“Root View Controller”是当前显示的视图。

所以,这就是我的困境,似乎我无法从我的堆栈中弹出这个Root View Controller,用其他东西替换它!您将如何以编程方式将plist作为根控制器?

三江源!

2 个答案:

答案 0 :(得分:1)

didFinishLaunchingWithOptions中 当你初始化PersonListNav

执行以下操作

//set root view controller to plist controller
PersonListNav *nav = [PersonListNav initWithRootViewController:plist];
self.window.rootViewController = nav;

答案 1 :(得分:0)

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