首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在iOS 9中隐藏单个视图控制器的状态栏?

如何在iOS 9中隐藏单个视图控制器的状态栏?
EN

Stack Overflow用户
提问于 2016-01-27 03:22:27
回答 15查看 50.5K关注 0票数 48

在我经常介绍的ViewController中,我这样做了:

代码语言:javascript
运行
复制
override func prefersStatusBarHidden() -> Bool {
    return true
}

这过去很管用,但现在行不通了。什么是最好的方法来隐藏状态栏这个视图控制器?

EN

回答 15

Stack Overflow用户

发布于 2016-11-02 09:20:27

对于Swift 3 & Swift 4,它已更改为重写如下所示的变量:

代码语言:javascript
运行
复制
override var prefersStatusBarHidden: Bool {
  return true
}

如果要在视图控制器已经显示后“更新”状态,则需要调用:

代码语言:javascript
运行
复制
setNeedsStatusBarAppearanceUpdate()

请参阅文档

票数 70
EN

Stack Overflow用户

发布于 2017-02-16 00:44:55

对于Swift 3和Swift 4.2,视图将在何时出现

代码语言:javascript
运行
复制
override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    UIApplication.shared.isStatusBarHidden = true
}

当视图到Dissapear时

代码语言:javascript
运行
复制
override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)

    UIApplication.shared.isStatusBarHidden = false
}

您可能需要在您的info.plist中设置下一行:

代码语言:javascript
运行
复制
View controller-based status bar appearance = NO

票数 47
EN

Stack Overflow用户

发布于 2016-12-09 12:47:15

在UIViewController中:

代码语言:javascript
运行
复制
override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    UIApplication.shared.isStatusBarHidden = true
}

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

override var prefersStatusBarHidden: Bool {
    return true
}
票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35028262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档