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