iphoneX不会调用prefersStatusBarHidden

时间:2018-06-06 07:06:50

标签: swift iphone-x uistatusbar

info.plist中

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

UIViewController

override var prefersStatusBarHidden: Bool{
        return true
   }

当我使用6p时,没关系 但
iphoneX,它不能调用和StatusBar不隐藏

1 个答案:

答案 0 :(得分:3)

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

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

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