- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个标准的主从应用程序,我正在尝试有条件地显示/隐藏状态栏。
在 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/
我有一个标准的主从应用程序,我正在尝试有条件地显示/隐藏状态栏。 在 MasterViewController 中覆盖 prefersStatusBarHidden() 什么都不做。它甚至从未被调用。
我有一个 UITabViewController -> UINavigationController -> UIViewController 并且想要隐藏和取消隐藏 statusBar。当我调用 se
信息.plist UIViewControllerBasedStatusBarAppearance 界面 View Controller override var prefersStatus
我和this problem的情况一样.由于某种原因,状态栏仍然没有淡入或淡出。我几乎尝试了本网站上发布的所有解决方案。 我正在使用 UINavigationController -> UIViewC
我正在尝试隐藏我的一个 View Controller 的状态栏(当模态显示时)。当我展示 View Controller 时,状态栏将被隐藏,然后在关闭时返回。 我已将以下代码添加到呈现的 View
在我的应用程序中的某些时候,我隐藏了 UIStatusBar在 iOS 7 上。 -(UIStatusBarAnimation)preferredStatusBarUpdateAnimation {
我的应用程序中的不同 vc 显示状态栏可见,而其他的则隐藏。这在 info.pList 中设置为 YES "View controller-based status bar appearance":
关于隐藏状态栏的文档说我应该实现这个方法 override prefersStatusBarHidden(){ return true } 然后它说:如果您更改此方法的返回值,请调用 setN
从 Swift 3/iOS 10 开始,preferredStatusBarStyle 和 prefersStatusBarHidden 等方法变为: @available(iOS 7.0,
我在 iOS 应用程序项目中有以下设置:“隐藏状态栏”未选中。 它可以在部署信息下的一般项目设置中找到。 在 AppDelegate.swift 中: @UIApplicationMain class
在 iOS 7 上,如果我使用 prefersStatusBarHidden 方法并返回一个可以更改的实例变量: - (BOOL)prefersStatusBarHidden { return
我是一名优秀的程序员,十分优秀!