SwiftUIビューのステータスバーを白に変更する方法はありますか?
おそらく何か単純なものが足りないのですが、SwiftUIでステータスバーを白に変更する方法を見つけることができないようです。これまでのところ、私は.statusBar(hidden: Bool)
を参照しています。
更新:上記の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)