info.plist中
<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>
UIViewController
override var prefersStatusBarHidden: Bool{
return true
}
当我使用6p时,没关系
但
iphoneX,它不能调用和StatusBar不隐藏
答案 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