我是 iOS 世界的新手,并且已经开始在模板代码之上构建自定义代码。所以请原谅我的明显。
View 链以 a 开头,MainWindow.xib
其中包含一个 App Delegate 对象、一个 Window 对象和 Application ViewController。我不明白为什么那里需要那些物品。但据我了解,我需要在"Nib Name"
属性中提及启动 ViewController 以启动我的自定义视图控制器(称为“EmptyViewController”)。它是一个虚拟视图控制器,只是为了避免由于缺少有效的视图控制器而导致崩溃。
我在内部启动了一个单独的模态视图控制器(MainViewController
)didFinishLaunchingWithOptions
。
启动模态视图控制器的代码——
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) 为什么所有控件/对象都需要 App Delegate 对象、一个 Window 对象和 Application ViewController 对象?
2) 为什么 HelpViewController 不显示导航栏?3) 我注意到的另一件事是,如果我说 self.presentingViewController,则返回 EmptyViewController 句柄,而 popViewController 将我返回到 MainViewController。
谢谢