iphone - 单击按钮并加载导航 Controller

标签 iphone button uinavigationcontroller

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

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

非常感谢!

最佳答案

解决此问题的另一种方法是简单地隐藏根 Controller 中的导航栏:

- (void) viewDidLoad {
  ...
  if (![self.navigationController isNavigationBarHidden])
    [self.navigationController setNavigationBarHidden:YES animated:NO];
  ...
}

这样,您就拥有了一个漂亮、干净的根 Controller ,并且没有导航栏。

当您单击根 Controller 中的按钮时,只需插入新 View 并取消隐藏导航栏:

- (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];
}

如果您有一些通知或其他操作将您带回 Root View Controller ,只需再次隐藏通知栏即可:

- (void) viewWillAppear:(BOOL)animated {
  if (![self.navigationController isNavigationBarHidden])
    [self.navigationController setNavigationBarHidden:YES animated:YES];
  [super viewWillAppear:animated];
}

关于iphone - 单击按钮并加载导航 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/788590/

相关文章:

iphone - iPhone拍照手机解锁

ios - 在应用程序中存储图像

objective-c - 为什么未找到方法警告不会消失?

swift - 更新自定义 UITableView 单元格中的标签

ios - 来自 .xib 文件的 ViewController 在 iOS 中以纵向模式而不是横向模式加载

objective-c - UINavigationController 保留

iphone - UIViewController 中的 ViewDidLoad 方法 - 何时调用它?

css - 导致水平滚动的 Facebook 发送按钮

单击/聚焦时 Java FX 按钮略小

ios - 用于管理 View Controller 流的类的模式