在 SwiftUI 中动态修改状态栏颜色

一般来说,只要我们的 App 不是特别的简陋,基本上不存在所有页面的状态栏都是同一个颜色的情况。在过去使用 UIKit + Storyboard 的时候,我们可以在项目设置中将状态栏颜色设置为自动,或者在每个 View Controller 中重写 preferredStatusBarStyle 属性。

但是对于完全基于 SwiftUI 的新工程而言,之前的解决方案都无法使用。在截至目前的 Xcode 版本里(11.3 beta 11C24b),状态栏颜色仍旧无法根据背景色自动变化。并且因为页面切换不再显式对应到不同的 View Controller,我们也无法通过重写每个页面的 preferredStatusBarStyle 属性来动态更改状态栏颜色。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×