gpt4 book ai didi

ios - 仅在一个 ViewController、 Objective-C 、iOS 中显示/隐藏状态栏

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:29:23 24 4
gpt4 key购买 nike

我希望状态栏在我的 ViewController 的 viewWillAppear() 中显示并在 viewWillDisappear() 中消失

我在用

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];

但在 iOS 9.0 中已弃用

我正在使用

UIApplication.shared.isStatusBarHidden = false

在 swift 中,但在 Objective-C 中,这是只读值...

prefersStatusBarHidden 对我也不起作用,因为我需要在 viewWillDisappear() 函数中隐藏状态栏

-(BOOL)prefersStatusBarHidden{
return YES;
}

有人能帮帮我吗?

最佳答案

对于每个要更改状态栏可见性的 View Controller ,您需要覆盖 prefersStatusBarHidden。不过,要使其真正起作用,您必须在项目的 Info.plist 中添加以下键/值:

key :查看基于 Controller 的状态栏外观

值: YES


要控制状态栏在 viewWillAppearviewWillDisappear 中的可见性,你可以这样做:

var statusBarHidden = false

override func viewWillAppear() {
super.viewWillAppear()
statusBarHidden = false
self.setNeedsStatusBarAppearanceUpdate()
}

override func viewWillDisappear() {
super.viewWillDisappear()
statusBarHidden = true
self.setNeedsStatusBarAppearanceUpdate()
}

override var prefersStatusBarHidden: Bool {
return statusBarHidden
}

关于ios - 仅在一个 ViewController、 Objective-C 、iOS 中显示/隐藏状态栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40223280/

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