如何从AppDelegate将ViewController添加到现有的NavigationController?

时间:2013-01-31 15:05:24

标签: ios objective-c viewcontroller navigationcontroller

我有一个调用该应用程序的LocalNotification。

在应用程序中,几乎所有视图都与NavigationController连接,以显示标题栏和“全局菜单”。

当通知中的操作调用应用程序时,AppDelegate必须调用包含“全局菜单”的WebView。这意味着,我必须将这个“WebView”添加到应用程序的NavigationController中。

首先,我尝试过这样的事情:(在AppDelegate中)

UIViewController *currentVc = self.window.rootViewController;
[currentVc.navigationController pushViewController:orderVc animated:NO];  

但它不会显示任何内容。所以我试过这种方式:

UIViewController *currentVc = self.window.rootViewController;
[currentVc presentViewController:orderVc animated:NO completion:nil];  

然后显示WebView(currentVc),但它不在整个应用程序的导航控制器下,因此没有“全局菜单”。

我已经检查过UIViewController(self.window.rootViewController)是否为零,但事实并非如此。

我已经四处寻找并发现了许多类似的问题,但它们与我的情况完全相反。

有没有简单的方法将ViewController添加到NavigationController以显示“标题栏”?对于过于含糊的问题,我很抱歉,但我真的需要帮助。

提前致谢。

1 个答案:

答案 0 :(得分:0)

每个视图控制器都可以控制自己的navigationItem。如果要显示推送的VC的按钮/标题,则必须更新navigationItem。通常viewWillAppear是一个很好的地方。