以前のバージョン用に最初に設計された iOS7 でアプリを実行すると、暗い灰色のナビゲーション バーが、テキストが黒のステータス バーに色を付けます。
私はそれを最新バージョンに適応させようとしており、次のように UIApplication.statusBarStyle を UIStatusBarStyleLightContent に設定しています:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
このコードは、ステータス バーのテキストの色を白に変更する必要がありますが、そうではありません。UIApplication インスタンスの _statusBarRequestedStyle プロパティにウォッチポイントを設定すると、viewWillAppear メソッドと viewDidAppear メソッドの実行の間に UIApplicationMain から何らかの呼び出しが行われ、これが 0 (UIStatusBarStyleDefault) に設定されていることがわかりました。
この時点で、ステータス バーのスタイルが変更された理由がわかりません。同じことを経験したことがある場合は、アドバイスをいただければ幸いです。
前もって感謝します!
編集: iOS 7 UI 移行ガイド ( https://developer.apple.com/library/ios/documentation/userexperience/conceptual/TransitionGuide/Bars.html )から
iOS 7 では、個々のビュー コントローラーからステータス バーのスタイルを制御し、アプリの実行中に変更できます。この動作をオプトアウトし、UIApplication statusBarStyle メソッドを使用してステータス バーのスタイルを設定する場合は、UIViewControllerBasedStatusBarAppearance キーをアプリの Info.plist ファイルに追加し、値 NO を指定します。