【问题标题】:Swift: Setting StatusBar color on IOS13+ (Using statusBarManager)Swift:在 IOS13+ 上设置状态栏颜色(使用 statusBarManager)
【发布时间】:2021-10-06 13:48:15
【问题描述】:

我想通过代码定义状态栏的颜色,我发现它的方式是这个,但它已被弃用。有谁知道这样做的新方法是什么?这个警告在我所有的代码中都跟着我

此代码正在运行,但出现警告

谁想要的代码:

class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        UIApplication.shared.statusBarStyle = UIStatusBarStyle.lightContent
        return true
    }

【问题讨论】:

    标签: swift colors statusbar


    【解决方案1】:

    使用警告中提到的UIStatusBarManager,您也不能设置样式。

    因为statusBarManager 是唯一的属性。检查Here

    open var statusBarStyle: UIStatusBarStyle { get }
    

    你必须覆盖preferredStatusBarStyle

    像这样

    class ViewController: UIViewController {
        
        override var preferredStatusBarStyle: UIStatusBarStyle {
            return .lightContent
        }
    }
    
    

    如果您想将状态栏样式更改为所有视图控制器,可以在Info.plist 中进行设置。

    第 1 步: 添加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的好文章。

    【讨论】:

    • 非常感谢您的完整回答!我已经知道我可以在单个 ViewControler 中定义它。我忘了评论我已经添加了步骤 01 中的信息,但步骤 02 我没有。我现在添加了它,它没有代码行!再次感谢!
    【解决方案2】:

    您可以在 Info.plist 中简单地添加带有 Light 值的外观键

    Please check this image for reference

    【讨论】:

      猜你喜欢
      • 2020-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多