1

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

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;
}
4

2 回答 2

0

viewDidLoad用你的方法试试UIViewController。在你的init方法self.navigationController中可能是nil

于 2013-08-16T17:44:15.660 回答
0

self.navigationController 在初始化期间将为零,因为控制器尚未被推送到导航控制器堆栈上。为了在初始化期间访问它,您要么必须

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

2)将其设置为应用程序委托上的属性,然后通过[UIApplication sharedApplication]在init方法中访问它

于 2013-08-16T17:48:20.470 回答