我无法显示导航控制器的工具栏。当我做的时候
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;
}
答案 0 :(得分:0)
在viewDidLoad
的{{1}}方法中试用。在UIViewController
方法中init
可能是self.navigationController
答案 1 :(得分:0)
self.navigationController在init期间将为nil,因为尚未在导航控制器堆栈上推送控制器。要在初始化期间访问它,您将需要
1)将其作为参数传递给自定义init方法
2)将其设置为应用程序委托上的属性,然后通过[UIApplication sharedApplication]
在init方法中访问它