2010-11-20 83 views
0

在我的应用程序中,我有一个mainViewController,我试图用它来保存和控制我的应用程序的几个主视图。我首先加载了一个启动画面,但后来想要启动它,以便当用户点击启动画面时,它们被带到主菜单。UINavigationController显示标题,但不显示

我有闪屏部分工作正常,但我对NavigationController部分有问题。


[splashView.view removeFromSuperview]; mainMenu = [[menuScreenViewController alloc] initWithNibName:@“menuScreenViewController”bundle:nil];}}}} mainMenu.title = @“菜单”; mainNavController = [[UINavigationController alloc] init]; [mainNavController pushViewController:mainMenu animated:NO];

[MAINVC.view addSubview:mainNavController.view];

[mainMenu release]; [mainNavController release];

[splashView release];


(MAINVC被定义在别处是我的主视图控制器)。

无论如何,当我这样做时,我得到了带有“菜单”标题的导航控制器,但包含在mainMenu视图控制器中的视图不显示在导航控制器中。

如果我只是将mainMenu的视图添加到MAINVC.view的子视图中,它会正确显示。

有关如何让它显示在我的导航控制器中的任何建议?

+0

avery,这个答案有帮助吗? – 2010-12-02 13:19:12

回答

0

avery,您将需要初始化导航控制器,并将mainMenu作为其根视图控制器,而不是仅仅初始化,然后推入新的视图。它需要该根视图控制器才能工作。

mainMenu = [[menuScreenViewController alloc] initWithNibName:@"menuScreenViewController" bundle:nil]; 
mainMenu.title = @"Menu"; 
mainNavController = [[UINavigationController alloc] initWithRootViewController:mainMenu]; 

//ADD MODAL SPLASH SCREEN HERE 

[MAINVC.view addSubview:mainNavController.view]; 

[mainMenu release]; 
[mainNavController release]; 

[splashView release]; 

如上图所示的评论,我会建议你初始化这种方式,然后再加入闪屏的导航控制器作为modalViewController。这将防止您点击触摸屏时可能发生的mainMenu初始化延迟。然后,当模态视图收到触摸时,您可以拨打:

[self.parentViewController dismissModalViewControllerAnimated:YES];