我希望在我当前的RootViewController之前放置一个屏幕。到目前为止,我对MyAppDelegate
进行了以下修改:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//with this in the existing RootViewController loads correctly
//self.window.rootViewController = self.navigationController;
self.window.rootViewController = [[[HomePageController alloc] init] autorelease];
}
我不完全确定self.navigationController如何实际设置为我的RootViewController。无论哪种方式,如果我进行修改,我的HomePageController
确实正确加载,但是我无法在其上推送另一个视图。我在HomePageController
上有一个简单的按钮,执行以下操作(请注意HomePageController
应该加载当前命名的RootViewController
,HomePageController
是我想要坐在其上的视图):
RootViewController *rvC = [[[RootViewController alloc] initWithNibName:@"RootViewController" bundle:[NSBundle mainBundle]] autorelease];
[self.navigationController pushViewController:rvC animated:YES];
当这段代码运行时没有任何反应......我不完全确定为什么,可能是与navigationController相关的东西?也许我没有正确地或以最佳方式将HomePageController
置于RootViewController
之上?
答案 0 :(得分:4)
您当前没有安装navgiationController。 要修复你必须替换
self.window.rootViewController = [[[HomePageController alloc] init] autorelease];
与
self.window.rootViewController = [[[UINavigatoinController alloc] initWithRootViewController:[[[HomePageController alloc] init] autorelease]] autorelease];
现在你已经安装了navigationController并且已经安装了
[self.navigationController pushViewController:rvC animated:YES];
将做正确的工作。