【Xcode】【iOS】ステータスバー(Status Bar)のカスタマイズ

ステータスバーの一括変更

・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;
}