ステータス バーのテキストの色に問題があります。テキストの色を白にしたいのですが、モーダル ビューでは黒のままにします。
次の構成があります。
- 「Opens in 5.1」、「Project Deployment target 7.0」、「View as iOS7 and later」が設定されたストーリーボード
UITabBarViewController
- 4
UINavigationControllers
UIViewController
各ナビゲーション コントローラーには、内部のカスタム サブクラスがあります。
UINavigationBar の背景色を 経由で暗く設定しましたappearance
。
View controller-based status bar appearance
に設定YES
私のサブクラスにUITabBarViewController
は次のメソッドがあります:
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
- (void)viewDidLoad {
[super viewDidLoad];
[self setNeedsStatusBarAppearanceUpdate];
}
これらのメソッドは、アプリケーションの開始後に呼び出されます。
UIViewControllers
サブクラスにも同じメソッド呼び出しがあります。
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent; // This method never called
}
- (void)viewDidLoad {
[super viewDidLoad];
[self setNeedsStatusBarAppearanceUpdate];
}
また、の戻り値を to に変更しようとし-preferredStatusBarStyle
ましたUIStatusBarStyleDefault
(まあ、テキストを黒でペイントする必要があることは知っていますが、とにかく試しました)
ストーリーボードでステータス バー オプションをライト コンテンツに設定する場合も同じです。うまくいきません。
私に似たSOに関する質問がたくさんあることは知っていますが、提案された解決策は私の状況では役に立ちません。
私のステータスバーはまだこのように見えます:
そして、その色を白に変更したい=/