iphoneX 不调用 prefersStatusBarHidden

iphoneX not call prefersStatusBarHidden

info.plist

<key>UIViewControllerBasedStatusBarAppearance</key>
    <true/>

UIViewController

override var prefersStatusBarHidden: Bool{
        return true
   }

当我使用 6p 时,没问题 但是
iphoneX,无法调用,StatusBar 未隐藏

您需要检查您的视图控制器是否包含在容器中(即 UINavigationController)。如果是这样,完整的程序是这样的:

1) 将 info.plist 文件中的视图 controller-based status bar appearance 值设置为 YES

2) 在您的子控制器中添加此代码:

override var prefersStatusBarHidden: Bool{
        return true
   }

3) 添加此扩展程序:

// gives control of the status bar appearance to the top controller
extension UINavigationController {
    override open var childViewControllerForStatusBarHidden: UIViewController? {
        return self.topViewController
    }
}

您已经有了第 1 点和第 2 点。相同的逻辑适用于 UITabBarController