【问题标题】:iphoneX not call prefersStatusBarHiddeniphoneX 不调用 prefersStatusBarHidden
【发布时间】:2018-06-06 07:06:50
【问题描述】:

info.plist

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

UIViewController

override var prefersStatusBarHidden: Bool{
        return true
   }

当我使用 6p 时,没关系 但是
iphoneX,无法通话,状态栏不隐藏

【问题讨论】:

  • UIViewControllerBasedStatusBarAppearance = true
  • 请提高您的问题的可理解性
  • override var prefersStatusBarHidden: Bool{ return true } 不能在 iphoneX 中调用
  • 这里有同样的问题,找到解决办法请发帖

标签: swift iphone-x uistatusbar


【解决方案1】:

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

1) 将 info.plist 文件中的 View 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

【讨论】:

    猜你喜欢
    • 2016-02-06
    • 2018-12-09
    • 2016-06-10
    • 1970-01-01
    • 1970-01-01
    • 2014-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多