单击按钮并加载导航控制器

时间:2009-04-25 09:17:09

标签: iphone button uinavigationcontroller

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

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

非常感谢!

1 个答案:

答案 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];
}