一个非常简单的问题:我的 iPhone 应用程序在 MainWindow.xib 中有一个按钮。当我按下该按钮时,应该加载一个新视图。该视图将包含一个不错的导航控制器。我怎样才能做到这一点?
我找到的所有信息都是关于直接从导航控制器启动的应用程序。单击按钮后,我需要加载导航控制器。
非常感谢!
一个非常简单的问题:我的 iPhone 应用程序在 MainWindow.xib 中有一个按钮。当我按下该按钮时,应该加载一个新视图。该视图将包含一个不错的导航控制器。我怎样才能做到这一点?
我找到的所有信息都是关于直接从导航控制器启动的应用程序。单击按钮后,我需要加载导航控制器。
非常感谢!
另一种解决方法是简单地将导航栏隐藏在根控制器中:
- (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];
}