Swift:在 IOS13+ 上设置 StatusBar 颜色(使用 statusBarManager)
Swift: Setting StatusBar color on IOS13+ (Using statusBarManager)
我想通过代码定义我的状态栏的颜色,我发现它的方式是这个,但它已被弃用。有谁知道这样做的新方法是什么?这个警告在我所有的代码中都跟着我
此代码有效但有警告
谁想要的代码:
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
UIApplication.shared.statusBarStyle = UIStatusBarStyle.lightContent
return true
}
如警告中所述使用UIStatusBarManager
,您不能同时设置样式。
因为 statusBarManager
是唯一的 属性。检查 Here
open var statusBarStyle: UIStatusBarStyle { get }
您必须覆盖 preferredStatusBarStyle
像这样
class ViewController: UIViewController {
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
}
如果您想将状态栏样式更改为所有视图控制器,您可以在 Info.plist
.
中进行设置
第一步:
添加 View controller-based status bar appearance
键并设置 No
值
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
第 2 步:添加 Status bar style
键并设置样式 Light Content
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>
如果你想要基于控制器的不同风格,那么,
步骤1:
添加 View controller-based status bar appearance
键并设置 Yes
值
<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>
第 2 步:在视图控制器中覆盖 preferredStatusBarStyle
。
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
这是一篇关于 How to set status bar style 的好文章。
您只需在 Info.plist
中添加值为 Light 的 Appearance 键
Please check this image for reference
我想通过代码定义我的状态栏的颜色,我发现它的方式是这个,但它已被弃用。有谁知道这样做的新方法是什么?这个警告在我所有的代码中都跟着我
此代码有效但有警告
谁想要的代码:
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
UIApplication.shared.statusBarStyle = UIStatusBarStyle.lightContent
return true
}
如警告中所述使用UIStatusBarManager
,您不能同时设置样式。
因为 statusBarManager
是唯一的 属性。检查 Here
open var statusBarStyle: UIStatusBarStyle { get }
您必须覆盖 preferredStatusBarStyle
像这样
class ViewController: UIViewController {
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
}
如果您想将状态栏样式更改为所有视图控制器,您可以在 Info.plist
.
第一步:
添加 View controller-based status bar appearance
键并设置 No
值
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
第 2 步:添加 Status bar style
键并设置样式 Light Content
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>
如果你想要基于控制器的不同风格,那么,
步骤1:
添加 View controller-based status bar appearance
键并设置 Yes
值
<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>
第 2 步:在视图控制器中覆盖 preferredStatusBarStyle
。
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
这是一篇关于 How to set status bar style 的好文章。
您只需在 Info.plist
中添加值为 Light 的 Appearance 键Please check this image for reference