ステータスバーの一括変更
・Info.plist(通常はSupporting Filesの中に入っています。ファイル名は「xxx-Info.plist」)に
「View controller-based status bar」という項目があります(ない場合には追加する必要があります)。
「View controller-based status bar」をNOに設定します。
・適切なところに(例えば、AppDelegate.mのapplication:didFinishLaunchingWithOptions ← はじめて起動時呼び出される処理)、
下記処理を書きます↓↓
// UIStatusBarStyleDefault:デフォルト // UIStatusBarStyleLightContent:フォント白 // UIStatusBarStyleBlackOpaque:黒 // UIStatusBarStyleBlackTranslucent:透明 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
ViewController単位でのステータスバー変更
・Info.plistで「View controller-based status bar」をYESに設定します。
・対象ViewControllerに、下記のような処理を書きます↓↓
- (void)viewDidLoad { [super viewDidLoad]; if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) { // ViewControllerでステータスバーの更新を宣言 [self setNeedsStatusBarAppearanceUpdate]; } } - (BOOL)prefersStatusBarHidden { // YES:ステータスバー非表示 // NO:ステータスバー表示 return NO; } - (UIStatusBarStyle)preferredStatusBarStyle { // UIStatusBarStyleDefault:デフォルト // UIStatusBarStyleLightContent:フォント白 // UIStatusBarStyleBlackOpaque:黒 // UIStatusBarStyleBlackTranslucent:透明 return UIStatusBarStyleLightContent; }