2017-09-13 10 views
0

ナビゲーションバーのバックグラウンドカラーとナビゲーション色の両方を設定して、ナビゲーションバーにあるすべてのシステムボタンの色合いを設定できます。私は、次のコードを書かれている:Objective 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

これは確かに感謝@tekgy Appdelegate

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

それを呼び出し、動作します。あなたの答えは私の問題を部分的に解決しました。戻るボタン以外のすべてのボタンの色は、あなたが提案したコードで変更されました。戻るボタンには同じ問題があります。ナビゲーション中に色が変わることがあります。他のボタンと必ずしも同じではありません。 –

関連する問題