gpt4 book ai didi

ios - 如何隐藏特定 View Controller 中的状态栏?

转载 作者:搜寻专家 更新时间:2023-11-01 07:16:35 25 4
gpt4 key购买 nike

我有 3 个 View Controller ,它们已添加到 pageViewController,因此我可以在 3 个之间滚动。问题是我只想在其中一个 viewController 中显示状态栏。到目前为止,我可以对它们全部隐藏或全部显示出来。

我尝试了以下方法:

    private var isStatusBarHidden = false {
didSet {
setNeedsStatusBarAppearanceUpdate()
}
}

override var prefersStatusBarHidden: Bool {
return isStatusBarHidden
}

我如何将 VC 作为 subview Controller 添加到我的 ScrollView 中:

 let storyboard = UIStoryboard(name: "Main", bundle: nil)

page1 = storyboard.instantiateViewController(withIdentifier: StoryboardIdentifiers.feedViewController.rawValue) as! FeedViewController
page1.view.translatesAutoresizingMaskIntoConstraints = false
page1.delegate = self
scrollView.addSubview(page1.view)
addChildViewController(page1)
page1.didMove(toParentViewController: self)

最佳答案

你有 3 个 VC 意味着所有 3 个 ViewController 都将有 viewDidAppear 和 viewWillDisappear 代码

 override open func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(true)
//It will show the status bar again after dismiss
UIApplication.shared.isStatusBarHidden = true
}


override open func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
//It will hide the status bar again after dismiss
UIApplication.shared.isStatusBarHidden = false
}
override open var prefersStatusBarHidden: Bool {
return true
}

将代码复制并粘贴到要隐藏状态栏的 ViewController 中。所以它会做的是在你的 viewDidAppear 里面它会隐藏你的状态栏一旦我们离开类,它就会将状态栏设置为可见。

如果您的 pageViewController 是父 View ,那么我们可以通过页面索引来完成假设您想在第 2 页显示状态栏并在第 1 页和第 3 页隐藏状态栏。所以我们可以在这个页面中做到这一点

PageDataSource Function {
if(index == 1 || index == 3){
UIApplication.shared.isStatusBarHidden = true
}
else{
UIApplication.shared.isStatusBarHidden = false
}
}

override open var prefersStatusBarHidden: Bool {
return true
}

override open func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
//It will hide the status bar again after dismiss
UIApplication.shared.isStatusBarHidden = false
}

请试试这个,让我知道它是否有效

谢谢

关于ios - 如何隐藏特定 View Controller 中的状态栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41881408/

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