childForStatusBarStyle

childForStatusBarStyle

我正在使用深色背景的单 View 应用程序在模拟器中工作。这是一个包装在UINavigationController中的UIViewController。

在我的 View Controller 中,我有override var preferredStatusBarStyle: UIStatusBarStyle { .lightContent }
在我的info.plist中,我有View controller-based status bar appearance = YES
但是,当我运行它时,它会显示白色一秒钟,然后跳到显示黑色文本。

这里发生了什么?有解决办法吗?

编辑:我已经尝试.default.lightContent.darkContent只是为了确保,没有任何效果

最佳答案

我最近遇到了这个问题,这些扩展似乎解决了这个问题。

extension UITabBarController {
    open override var childForStatusBarStyle: UIViewController? {
        return selectedViewController?.childForStatusBarStyle ?? selectedViewController
    }
}

extension UINavigationController {
    open override var childForStatusBarStyle: UIViewController? {
        return topViewController?.childForStatusBarStyle ?? topViewController
    }
}

我只是将它们放入名为UIViewController+StatusBar.swift的文件中,并将其包含在项目中。

关于ios - preferredStatusBarStyle在iOS 13上不适用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58203902/

10-12 13:36