gpt4 book ai didi

ios - prefersStatusBarHidden 没有被调用

转载 作者:可可西里 更新时间:2023-11-01 17:14:38 25 4
gpt4 key购买 nike

我有一个标准的主从应用程序,我正在尝试有条件地显示/隐藏状态栏。

在 MasterViewController 中覆盖 prefersStatusBarHidden() 什么都不做。它甚至从未被调用。

override func prefersStatusBarHidden() -> Bool {
return true
}

在 Info.plist 中设置 UIViewControllerBasedStatusBarAppearance 没有帮助,大概是因为 YES 已经是默认值了。调用 setNeedsStatusBarAppearanceUpdate() 也无济于事。

我的目标是 iOS 9。

最佳答案

有一个更简洁的解决方案。有一个函数 childViewControllerForStatusBarHidden 专门用于返回一个 subview Controller ,prefersStatusBarHidden 应该被转发到该 subview Controller 。

所以,覆盖它会更好。它看起来像这样:

override func childViewControllerForStatusBarHidden() -> UIViewController? {
if var topViewController = self.viewControllers.first {
if let navigationController = topViewController as? UINavigationController {
topViewController = navigationController.topViewController!
}
return topViewController
}

return super.childViewControllerForStatusBarHidden()
}

也许您甚至可以省略以下内容。 NavigationViewController 本身有 childViewControllerForStatusBarHidden() ,它将把它发送给 subview Controller 。

  if let navigationController = topViewController as? UINavigationController {
topViewController = navigationController.topViewController!
}

关于ios - prefersStatusBarHidden 没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35670767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com