1. ホーム
  2. ios

[解決済み] iOSのステータスバーの文字色を変更する方法

2022-03-22 05:31:48

質問

私のアプリケーションは背景が暗いのですが、iOS 7ではステータスバーが透明になってしまいました。そのため、隅にある緑色のバッテリーインジケーターだけで、何も見えません。どうすれば、ステータスバーのテキスト色をホーム画面のように白に変更できますか?

解決方法を教えてください。

  1. を設定します。 UIViewControllerBasedStatusBarAppearance から YES を.plistファイルに追加しました。

  2. での viewDidLoad を行う [self setNeedsStatusBarAppearanceUpdate];

  3. 以下のメソッドを追加します。

    - (UIStatusBarStyle)preferredStatusBarStyle
    { 
        return UIStatusBarStyleLightContent; 
    }
    
    

備考 : の中にあるコントローラでは動作しません。 UINavigationController をご覧ください。 以下のTysonのコメント :)

Swift 3 - の中のコントローラを動作させることができます。 UINavigationController . このコードをコントローラ内に追加してください。

// Preferred status bar style lightContent to use on dark background.
// Swift 3
override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

Swift 5とSwiftUI

SwiftUI では、次のような新しい swift ファイルを作成します。 HostingController.swift

import Foundation
import UIKit
import SwiftUI

class HostingController: UIHostingController<ContentView> {
    override var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }
}

そして、次のコードの行を SceneDelegate.swift

window.rootViewController = UIHostingController(rootView: ContentView())

になります。

window.rootViewController = HostingController(rootView: ContentView())