[解決済み】preferredStatusBarStyleが呼び出されない。
2022-04-01 22:05:52
質問
私は
このスレッド
をオーバーライドするために
-preferredStatusBarStyle
が、呼び出されない。
何かオプションを変更することで、呼び出せるようになるのでしょうか?(私はプロジェクトでXIBを使用しています)。
解決方法は?
考えられる根本的な原因
私は同じ問題に直面し、アプリケーションウィンドウにルートビューコントローラを設定していなかったため、この問題が発生したことを突き止めました。
は
UIViewController
を実装していたのですが
preferredStatusBarStyle
が使われていたのは
UITabBarController
画面上のビューの外観を制御するものである。
ルートビューコントローラがこれを指すように設定すると
UITabBarController
を使用すると、ステータスバーの変更が予想通り正しく機能するようになりました(そして
preferredStatusBarStyle
メソッドが呼び出されるようになっていました)。
(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
... // other view controller loading/setup code
self.window.rootViewController = rootTabBarController;
[self.window makeKeyAndVisible];
return YES;
}
代替方法(iOS 9で非推奨)
また、各ビューコントローラの背景色に応じて、以下のメソッドのいずれかを適宜呼び出すことも可能です。
setNeedsStatusBarAppearanceUpdate
:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
または
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
を設定する必要があることに注意してください。
UIViewControllerBasedStatusBarAppearance
から
NO
をplistファイルに追加してください。
関連
-
[解決済み] 配列型 'int [16]' は代入不可能です。
-
[解決済み] UIViewAlertForUnsatisfiableConstraintsでトラップする方法は?
-
[解決済み] Objective-Cの定数
-
[解決済み] -didSelectRowAtIndexPath: 呼び出されていません。
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] performSelectorのセレクタが不明なため、リークが発生する可能性があります。
-
[解決済み] 制約条件の変更をアニメーションで表現するには?
-
[解決済み] iPhone UITextField - プレースホルダーの文字色を変更する
-
[解決済み] インポート vs #インポート - iOS 7
-
[解決済み】iOSアプリの名前を変更する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 'strcmp' はこのスコープで宣言されていません。
-
[解決済み] Xcode コマンド /usr/bin/codesign は終了コード 1 で失敗しました : errSecInternalComponent
-
[解決済み] Argument passed to call that takes no arguments "エラーを修正するには?
-
[解決済み] 基本的なUIButtonをプログラムで作成するには?
-
[解決済み] iOS Development 証明書が失効されました
-
[解決済み] ERROR ITMS-9000: "Redundant Binary Upload. 列車 '1.0' のビルドバージョン '1.0' のバイナリアップロードが既に存在します" と表示されました。
-
[解決済み] NSIntegerからNSStringデータ型に変換するにはどうすればよいですか?
-
[解決済み] 起動画面にカスタムクラス名が設定されない場合がある
-
[解決済み] iOSのステータスバーの文字色を変更する方法
-
[解決済み] Swift の拡張機能でメソッドをオーバーライドする