このコードは、アプリケーション内のどこでもUINavigationBar
の色を変更することができます。しかし、私はUINavigationController
(私はUIStoryboard
から来る)UINavigationBar
のUIColor
を変更しないことに気づいた。UINavigationControllerナビゲーションバーの色合いをグローバルかつプログラムで変更
UIColor* navBarColor = [UIColor colorWithRed:arc4random()%100/100.0
green:arc4random()%100/100.0
blue:arc4random()%100/100.0
alpha:1];
[[UINavigationBar appearance] setTintColor:navBarColor];
[[UINavigationBar appearance] setBarStyle:UIBarStyleBlackTranslucent];
[[UINavigationBar appearance] setAlpha:0.7];
UINavigationController's
ナビゲーションバーのappearance
オブジェクトにアクセスする方法はありますか?私は個々のコントローラーの色合いを設定する方法を知っていますが、どのように見えるかを全体的にコントロールしたいと思います。
更新: これは私の間違いだった、コードはすべてUINavigationBars
のUIColor
を変更し、それは(モーダルビューコントローラを提示するなど)覆われ、発見されるように、ルートナビゲーションコントローラを必要とし、それが再描画されますそれ自体が新しいUIColors
!
ありがとうございました!あなたはUINavigationController
を宣言する場合
注 - - 代わりに 'NSForegroundColorAttributeName'と' NSShadowAttributeName'を使用:iOSの8でwが、私たちは、このことにより、色合いの色を設定することができます。 – thomers