2017-09-13 50 views
0

我想設置導航欄背景顏色和導航色調顏色,以便可以設置導航欄中存在的所有系統按鈕的色調顏色。我寫了以下代碼:無法更改目標C中的導航欄文本顏色或色調顏色C

NSArray *ver = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."]; 
if ([[ver objectAtIndex:0] intValue] >= 7) { 
    // iOS 7.0 or later 
    self.navigationController.navigationBar.barTintColor = [UIColor orangeColor]; 
    self.navigationController.navigationBar.translucent = NO; 
}else { 
    // iOS 6.1 or earlier 
    self.navigationController.navigationBar.tintColor = [UIColor orangeColor]; 
} 
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]]; 
[[UINavigationBar appearance] setBarTintColor:[UIColor orangeColor]]; 

此代碼僅更改導航欄的背景顏色,但不更改按鈕的色調顏色。按鈕以默認的藍色顯示。但是,在導航到其他屏幕時,按鈕顏色的某些時候會變爲我通過上面的代碼設置的顏色,但這並不總是會發生。

回答

0

這必將工作,調用它的appdelegate

[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil] setTintColor:[UIColor whiteColor]]; 
+0

感謝@tekgy。你的回答部分解決了我的問題。除後退按鈕之外的所有按鈕顏色都隨您所建議的代碼而改變。後退按鈕仍然具有相同的問題 - 導航時顏色有時會改變,而不是像其他按鈕一樣。 –