在呈现第一个视图后导航视图控制器

时间:2013-03-07 15:21:50

标签: ios objective-c cocoa-touch cocoa

我刚刚改变了我的应用程序,我很困惑。它从根视图开始,然后推送第二个视图,该视图上有一个按钮,推动另一个视图... 所以我决定改为呈现第二个视图控制器,但现在另一个视图不能从第二个视图控制器推出。

根视图中的代码:

 //This works
 [[self navigationController] presentViewController:secondViewController
                                          animated:YES completion:nil];

第二视图的代码:

 //This Does not work
 [[self navigationController] pushViewController:locactionView animated:YES];

编辑:抱歉缺乏细节。没有例外,它只是没有推动“位置视图”。在我提出视图之前,我推动它,一切正常。此外,当最初按下视图时,导航栏可见,现在正在显示视图控制器,我无法推送视图或查看导航栏。我希望这有帮助。我不知道我可以添加什么代码,因为我在问题发生之前只改变了一行。

2 个答案:

答案 0 :(得分:0)

在你的AppDelegate中,你可以先用rootViewController初始化你的NavigationController,然后你可以将viewControllers推到堆栈上,这可以解决你的问题

YourNavigationController *yourNavigationController = [[YourNavigationController alloc] initWithRootViewController:self.firstViewController];

答案 1 :(得分:0)

如果您的层次结构设置如下:

self.rootViewController = [[RootViewController alloc] initWithNibName:@"RootViewController"
                                                               bundle:nil];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:self.rootViewController];
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];

你不应该对这些东西有任何问题。您的问题可能是您试图从模式上呈现的视图控制器推入导航控制器,但您无法做到