在我以模态方式呈现的ViewController中,我这样做了:
override func prefersStatusBarHidden() -> Bool {
return true
}
Run Code Online (Sandbox Code Playgroud)
这曾经工作,但它不再有效.仅为此视图控制器隐藏状态栏的最佳方法是什么?
Poc*_*chi 66
对于Swift 3和Swift 4,它已经改为覆盖这样的变量:
override var prefersStatusBarHidden: Bool {
return true
}
Run Code Online (Sandbox Code Playgroud)
如果要在视图控制器显示后"更新"状态,则需要调用:
setNeedsStatusBarAppearanceUpdate()
Run Code Online (Sandbox Code Playgroud)
请参阅文档.
gan*_*ena 43
对于Swift 3和Swift 4.2, 当视图出现时
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
UIApplication.shared.isStatusBarHidden = true
}
Run Code Online (Sandbox Code Playgroud)
当看到去往Dissapear的goint时
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.shared.isStatusBarHidden = false
}
Run Code Online (Sandbox Code Playgroud)
您可能需要在info.plist中设置下一行:
View controller-based status bar appearance = NO
Run Code Online (Sandbox Code Playgroud)
Gre*_*reg 19
在iOS 9,Xcode 7,Swift 2.0中,它又回到了之前的状态.
override func prefersStatusBarHidden() -> Bool {
return true
}
Run Code Online (Sandbox Code Playgroud)
实际上Xcode会告诉你
UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: .None)
Run Code Online (Sandbox Code Playgroud)
已被弃用,您应该使用prefersStatusBarHidden方法.
ana*_*s.p 19
在你的UIViewController中:
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
}
Run Code Online (Sandbox Code Playgroud)
Ali*_*ĞLU 13
对于Swift 3,
override var prefersStatusBarHidden: Bool{
return true
}
Run Code Online (Sandbox Code Playgroud)
并添加 viewDidLoad()
self.modalPresentationCapturesStatusBarAppearance = true
Run Code Online (Sandbox Code Playgroud)
您可以通过简单地覆盖 prefersStatusBarHiddenViewController 中的属性来实现这一点,如下所示:
override var prefersStatusBarHidden: Bool {
return true
}
Run Code Online (Sandbox Code Playgroud)
这适用于 Swift 3/4。
jas*_*hoi -1
UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: .None)
Run Code Online (Sandbox Code Playgroud)
当您希望将其返回到单独的 VC 中时:
UIApplication.sharedApplication().setStatusBarHidden(false, withAnimation: .None)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41370 次 |
| 最近记录: |