web-dev-qa-db-ja.com

SwiftUI:ステータスバーの色

SwiftUIビューのステータスバーを白に変更する方法はありますか?

おそらく何か単純なものが足りないのですが、SwiftUIでステータスバーを白に変更する方法を見つけることができないようです。これまでのところ、私は.statusBar(hidden: Bool)を参照しています。

20
keegan3d

更新:上記のHannes Sverrissonの回答が最も近いようですが、回答は少し異なります。

上記のUIHostingControllerサブクラスでの回答は、記述されているとおり、XCode 11.3.1では機能しません。

次の例は、サブクラス(ContentView環境設定も処理する)で機能しました。

import SwiftUI

class HostingController<Content>: UIHostingController<Content> where Content : View {
    override var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }
}

次に、SceneDelegate.Swiftで、window.rootViewController設定自体は実際に機能します。

window.rootViewController = HostingController(rootView: contentView)
0
Justin N