一个非常简单的问题:我的iPhone应用程序在MainWindow.xib中有一个按钮。按下该按钮时,应加载新视图。该视图将包含一个很好的导航控制器。我怎么能这样做?
我发现的所有信息都是关于直接从导航控制器启动的应用程序。单击按钮后,我需要加载导航控制器。
非常感谢!
答案 0 :(得分:2)
另一种方法是简单地隐藏根控制器中的导航栏:
- (void) viewDidLoad {
...
if (![self.navigationController isNavigationBarHidden])
[self.navigationController setNavigationBarHidden:YES animated:NO];
...
}
这样,你有一个漂亮,干净的根控制器,没有导航栏。
当您单击根控制器中的按钮时,只需按下新视图并取消隐藏导航栏:
- (IBAction) pushAnotherView:(id)sender {
AnotherViewController *anotherViewController = [[AnotherViewController alloc] initWithNibName:@"AnotherViewController" bundle:nil];
[self.navigationController pushViewController:anotherViewController animated:YES];
if ([self.navigationController isNavigationBarHidden])
[self.navigationController setNavigationBarHidden:NO animated:YES];
[anotherViewController release];
}
如果您有一些通知或其他操作将您带回根视图控制器,只需再次隐藏通知栏:
- (void) viewWillAppear:(BOOL)animated {
if (![self.navigationController isNavigationBarHidden])
[self.navigationController setNavigationBarHidden:YES animated:YES];
[super viewWillAppear:animated];
}