iOS工具栏没有显示导航控制器

时间:2013-08-16 17:36:12

标签: ios uinavigationcontroller

我无法显示导航控制器的工具栏。当我做的时候

self.navigationController.toolbarHidden = NO;

在mainController的init方法中,工具栏没有显示。但是,当我在下面的注释部分中使用该行时,它可以正常工作。我意识到它无法正常工作,因为我在创建导航控制器之前创建了mainController。有没有办法解决这个问题,以便我可以在mainController的init方法中调用该行?

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  rootController = [[mainController alloc] init];
  UINavigationController *navController =
      [[UINavigationController alloc] initWithRootViewController:rootController];
  //turn on toolbar

  _window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
  _window.rootViewController = navController;
  [_window makeKeyAndVisible];

  return YES;
}

2 个答案:

答案 0 :(得分:0)

viewDidLoad的{​​{1}}方法中试用。在UIViewController方法中init可能是self.navigationController

答案 1 :(得分:0)

self.navigationController在init期间将为nil,因为尚未在导航控制器堆栈上推送控制器。要在初始化期间访问它,您将需要

1)将其作为参数传递给自定义init方法

2)将其设置为应用程序委托上的属性,然后通过[UIApplication sharedApplication]

在init方法中访问它