2015-06-23 167 views
0

假設,我們有兩個視圖控制器 - 控制器A和控制器B不同的導航欄後退按鈕顏色不同的視圖控制器

攻上控制器A特定項目的推動器B.我設置的顏色在我AppDelegate.mdidFinishLaunchingWithOptions方法導航欄按鈕使用此 -

[[UINavigationBar appearance] setTintColor:[UIColor blueColor]]; 

非常適用於每一個導航控制器我有我的應用程序。我想要的是,對於控制器A中導航欄上的按鈕使用不同的顏色,而對於控制器B中的按鈕使用不同的顏色。

這可能嗎?

我至今嘗試過...

  1. 將這個代碼在控制器A是推動控制器B的方法 -

    [[UIBarButtonItem appearance] setTintColor:[UIColor whiteColor]]; 
    

    沒有去。

  2. 此去在控制器B的viewWillAppear方法 -

    [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]]; 
    

    沒有

    self.navigationItem.backBarButtonItem.tintColor = [UIColor whiteColor]; 
    

    仍然沒有改變。

    [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]]; 
    

    *約踩住我的機器靠牆

(從我的新電腦寫作)我應該用什麼代碼來完成這一點,我應該在哪裏可以把它?

在此先感謝。

+1

請參閱以下可能會被它幫助你您的問題 [參考] [1] [1]:http:// stackoverflow。com/a/19029973/3977940 –

+0

它確實..我所做的只是把這行代碼[self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];在Controller B – genaks

回答

0

的代碼行應該是 -

[self.navigationController.navigationBar setTintColor:[UIColor whiteColor]]; 

,並在雲控制器B的viewDidAppear方法

記得把它恢復到默認的顏色在控制器B的viewDidDisappear方法,以便當你從控制器B導航時,你不會得到意想不到的結果。

(也許是新電腦給我帶來了一些運氣)

+0

的viewDidLoad方法中,如果將它放在'viewWillAppear'方法中,它也可以工作。 – genaks

+0

嗯...把顏色恢復到默認viewDidDisappear沒有完全工作,導航欄的右側按鈕仍然是白色 – genaks

0

儘量做到:

[self setNeedsStatusBarAppearanceUpdate];

更新後您的導航欄的tintColor

+0

umm ..用於更改後退按鈕的顏色? – genaks

+0

對不起,我使用這種方法更新我的內容,當我進行更改時。 如果這不起作用,請嘗試: self.navigationItem.leftBarButtonItem.tintColor = [UIColor whiteColor]; 例如 – AnthonyR

+0

它沒有添加這行代碼就工作..只是說 – genaks

相關問題