2013-08-16 110 views
1

我無法使導航控制器的工具欄顯示。當我做iOS工具欄未顯示導航控制器

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

爲什麼你有要求在init中執行它? –

回答

0

嘗試在你的UIViewControllerviewDidLoad方法。在您的init方法中self.navigationController可能是nil

0

self.navigationController將在init期間爲零,因爲控制器尚未被推入導航控制器堆棧。爲了在初始化你將不得不

1)它作爲一個參數傳遞給自定義init方法

2)來訪問它設置爲在應用程序委託一個屬性,然後訪問它在init方法通過[UIApplication sharedApplication]