SWIFT:在IOS13+上设置StatusBar颜色(使用statusBarManager) [英] Swift: Setting StatusBar color on IOS13+ (Using statusBarManager)

查看:0
本文介绍了SWIFT:在IOS13+上设置StatusBar颜色(使用statusBarManager)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想通过代码定义我的状态栏的颜色,就像我发现的那样,但它已被弃用。有人知道做这件事的新方法是什么吗?我的所有代码中都有此警告

此代码工作正常,但出现警告

任何人想要的代码:

class AppDelegate: UIResponder, UIApplicationDelegate {

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

推荐答案

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

因为statusBarManager是Get Only属性。勾选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/>

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

这篇关于SWIFT:在IOS13+上设置StatusBar颜色(使用statusBarManager)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆