4

一个非常简单的问题:我的 iPhone 应用程序在 MainWindow.xib 中有一个按钮。当我按下该按钮时,应该加载一个新视图。该视图将包含一个不错的导航控制器。我怎样才能做到这一点?

我找到的所有信息都是关于直接从导航控制器启动的应用程序。单击按钮后,我需要加载导航控制器。

非常感谢!

4

1 回答 1

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];
}
于 2009-04-25T09:24:01.710 回答