gpt4 book ai didi

ios - 从全局函数显示和隐藏 StatusBar?

转载 作者:可可西里 更新时间:2023-11-01 00:37:40 26 4
gpt4 key购买 nike

我想创建一个可用于显示和隐藏状态栏的全局函数。这是我所做的:

class Helper {
class func hide() {
let app = UIApplication.sharedApplication()
if !app.statusBarHidden {
app.statusBarHidden = true
}
}
class func show() {
let app = UIApplication.sharedApplication()
if app.statusBarHidden {
app.statusBarHidden = false
}
}
}

它的名字是这样的:

Helper.hide()

我将这些函数放在一个辅助类中。调用 hide() 函数不会隐藏状态栏。

我还在info.plist中设置了状态栏初始隐藏

如何在全局函数中显示和隐藏 StatusBar?

最佳答案

在名为 isStatusBarHiddenUIViewController 上创建一个静态 bool 属性。

extension UIViewController {
static var isStatusBarHidden = false
}

在所需的 View Controller 中,您只需覆盖 prefersStatusBarHidden 属性

class ViewController: UIViewController {
// ..
override var prefersStatusBarHidden: Bool {
return UIViewController.isStatusBarHidden
}
// ..
}

然后您需要做的就是根据需要将您的 var 设置为 true 或 false:

UIViewController.isStatusBarHidden = true

打开/关闭您覆盖该属性的 View Controller 的状态栏:

UIViewController.isStatusBarHidden = !UIApplication.shared.isStatusBarHidden

不要忘记调用 setNeedsStatusBarAppearanceUpdate

setNeedsStatusBarAppearanceUpdate()

关于ios - 从全局函数显示和隐藏 StatusBar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29825384/

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