iphoneX 不调用首选状态栏隐藏



info.plist

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

UIView控制器

override var prefersStatusBarHidden: Bool{
return true
}

当我使用6P时,没关系 但是
iphoneX,它无法呼叫并且状态栏未隐藏

您需要检查视图控制器是否包含在容器中(即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

最新更新