我是iOS世界的新手,已经开始在模板代码上构建自定义代码。所以请原谅我显而易见的问题。
视图链始于一个包含应用程序委托对象、窗口对象和应用程序视图控制器的MainWindow.xib
。我不明白为什么需要那些对象。但我明白,我需要在"Nib Name"
属性中提到起始视图控制器,以启动我的自定义视图控制器(称为"EmptyViewController")。它是一个虚拟的视图控制器,只是为了避免由于缺少有效视图控制器而导致崩溃。
我在didFinishLaunchingWithOptions
中启动单独的模态视图控制器(MainViewController
)。
self.window.rootViewController = self.viewController;
mainView = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
// present the viewcontroller
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:mainView];
[self.viewController presentModalViewController:navController animated:NO];
// release it, because it's retained as modalViewController
[navController release];
我没有将这个MainViewController放在MainWindow.xib中,因为我想让导航栏位于MainViewController的根部。 在MainViewController内,当按下“帮助”按钮时,我会推出HelpViewController。 但是HelpViewController没有显示任何导航栏。我不明白为什么?
推送导航栏的代码如下:
HelpViewController *helpVC = [[HelpViewController alloc] init];
[self.navigationController pushViewController:helpVC animated:YES];
[helpVC release];
我希望能够了解以下几个问题: 1)为什么需要MainWindow.xib?我能否删除它?(注意:我试图删除它,但是屏幕变成了空白) 1.a)为什么需要所有的控件/对象——应用程序委托对象、窗口对象和应用视图控制器对象?
2)为什么HelpViewController不显示导航栏? 3)另外我注意到,如果我说self.presentingViewController,会返回EmptyViewController处理,而popViewController会将我返回到MainViewController。
谢谢