有没有一种方法可以将SwiftUI视图的状态栏更改为白色?
我可能缺少一些简单的东西,但是似乎找不到在SwiftUI中将状态栏更改为白色的方法。到目前为止,我只是看到.statusBar(hidden: Bool)
。
就像在链接的评论中,我在这里编辑了这个问题
但是要回答这个问题并帮助人们直接找到答案:
Swift 5和SwiftUI
对于SwiftUI,创建一个名为HostingController.swift的新swift文件。
import Foundation import UIKit import SwiftUI class HostingController: UIHostingController{ override var preferredStatusBarStyle: UIStatusBarStyle { return .lightContent } }
然后在SceneDelegate.swift中更改以下代码行
window.rootViewCOntroller= UIHostingController(rootView: ContentView())
至
window.rootViewCOntroller= HostingController(rootView: ContentView())
创建一个主机控制器,DarkHostingController
并在其preferredStatusBarStyle
上进行设置:
class DarkHostingController: UIHostingController where Content : View { @objc override dynamic open var preferredStatusBarStyle: UIStatusBarStyle { .lightContent } }
并包装SceneDelegate
:
window.rootViewCOntroller= DarkHostingController(rootView: ContentView())