当我尝试显示视图时无法隐藏状态栏
I am not able to hide statusBar when I try to show a view
我想在屏幕上显示 view
时隐藏 statusBar
。
func showView() {
if let keyWindow = UIApplication.shared.keyWindow{
let view = UIView(frame: keyWindow.frame)
view.backgroundColor = UIColor.black
keyWindow.addSubview(view)
UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 1, initialSpringVelocity: 1, options: .curveEaseOut, animations: {
view.frame = keyWindow.frame
}) { (completedAnimnation) in
//hide status bar when view is showed
UIApplication.shared.isStatusBarHidden = true
}
}
}
这是我显示视图的代码,我尝试使用 UIApplication.shared.isStatusBarHidden = true
隐藏状态栏。还有 UIApplication.shared.setStatusBarHidden(true, with: .fade)
,但其中 none 有效。也不能override prefersStatusBarHidden
因为我在UIView
class.
override var prefersStatusBarHidden: Bool {
return true
}
注意:请不要标记为重复,因为我已经看到所有其他
答案,但其中 none working.I 不想隐藏所有应用程序,仅当它显示视图时才隐藏。
第 1 步: 在 Info.plist 文件中
单击加号按钮添加新密钥 View controller-based status bar appearance
将值设置为 NO
第 2 步: 单屏隐藏
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
UIApplication.shared.isStatusBarHidden = true
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.shared.isStatusBarHidden = false
}
第 3 步: 在整个应用程序中隐藏
AppDelegate.swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject:AnyObject]?) -> Bool {
application.statusBarHidden = true
return true
}
我的建议是创建一个变量:
var isVisible: Bool?
当你想要的 UIView 出现时设置为 true,当它消失时设置为 false。
或者,只需使用 ViewController,并从那里呈现视图 -
我想在屏幕上显示 view
时隐藏 statusBar
。
func showView() {
if let keyWindow = UIApplication.shared.keyWindow{
let view = UIView(frame: keyWindow.frame)
view.backgroundColor = UIColor.black
keyWindow.addSubview(view)
UIView.animate(withDuration: 0.5, delay: 0, usingSpringWithDamping: 1, initialSpringVelocity: 1, options: .curveEaseOut, animations: {
view.frame = keyWindow.frame
}) { (completedAnimnation) in
//hide status bar when view is showed
UIApplication.shared.isStatusBarHidden = true
}
}
}
这是我显示视图的代码,我尝试使用 UIApplication.shared.isStatusBarHidden = true
隐藏状态栏。还有 UIApplication.shared.setStatusBarHidden(true, with: .fade)
,但其中 none 有效。也不能override prefersStatusBarHidden
因为我在UIView
class.
override var prefersStatusBarHidden: Bool {
return true
}
注意:请不要标记为重复,因为我已经看到所有其他 答案,但其中 none working.I 不想隐藏所有应用程序,仅当它显示视图时才隐藏。
第 1 步: 在 Info.plist 文件中
单击加号按钮添加新密钥 View controller-based status bar appearance
将值设置为 NO
第 2 步: 单屏隐藏
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
UIApplication.shared.isStatusBarHidden = true
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
UIApplication.shared.isStatusBarHidden = false
}
第 3 步: 在整个应用程序中隐藏
AppDelegate.swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject:AnyObject]?) -> Bool {
application.statusBarHidden = true
return true
}
我的建议是创建一个变量:
var isVisible: Bool?
当你想要的 UIView 出现时设置为 true,当它消失时设置为 false。
或者,只需使用 ViewController,并从那里呈现视图 -