我想移除屏幕顶部的状态栏。
这行不通:
func application
(application: UIApplication,
didFinishLaunchingWithOptions launchOptions: NSDictionary?)
-> Bool
{
application.statusBarHidden = true
return true
}
我也试过:
func application
(application: UIApplication,
didFinishLaunchingWithOptions launchOptions: NSDictionary?)
-> Bool
{
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
var controller = UIViewController()
application.statusBarHidden = true
controller.setNeedsStatusBarAppearanceUpdate()
var view = UIView(frame: CGRectMake(0, 0, 320, 568))
view.backgroundColor = UIColor.redColor()
controller.view = view
var label = UILabel(frame: CGRectMake(0, 0, 200, 21))
label.center = CGPointMake(160, 284)
label.textAlignment = NSTextAlignment.Center
label.text = "Hello World"
controller.view.addSubview(label)
self.window!.rootViewController = controller
self.window!.makeKeyAndVisible()
return true
}
这对我来说是个问题,因为iOS 9不支持上面提到的任何方法,比如UIApplication.sharedApplication()。statusBarHidden = true
或
UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: UIStatusBarAnimation.None)
and
override func prefersStatusBarHidden() -> Bool {
return true
}
工作,但不提供可编程的解决方案,我可以改变的条件。
(statusBarHidden = true和statusBarHidden = false,就像我们之前做的那样)。
解决这种疯狂的方法:
通过添加prefersStatusBarHidden()像下面这样,你可以通过编程控制隐藏和显示状态栏,而不需要添加UIViewControllerBasedStatusBarAppearance设置到你的info.plist:
var showStatusBar = true
override func prefersStatusBarHidden() -> Bool {
if showStatusBar {
return false
}
return true
}
private func showStatusBar(enabled: Bool) {
showStatusBar = enabled
prefersStatusBarHidden()
}
然后在代码中像这样使用它:
//Hide Status Bar
showStatusBar(false)
OR
//Show Status Bar
showStatusBar(true)
这对我来说是个问题,因为iOS 9不支持上面提到的任何方法,比如UIApplication.sharedApplication()。statusBarHidden = true
或
UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: UIStatusBarAnimation.None)
and
override func prefersStatusBarHidden() -> Bool {
return true
}
工作,但不提供可编程的解决方案,我可以改变的条件。
(statusBarHidden = true和statusBarHidden = false,就像我们之前做的那样)。
解决这种疯狂的方法:
通过添加prefersStatusBarHidden()像下面这样,你可以通过编程控制隐藏和显示状态栏,而不需要添加UIViewControllerBasedStatusBarAppearance设置到你的info.plist:
var showStatusBar = true
override func prefersStatusBarHidden() -> Bool {
if showStatusBar {
return false
}
return true
}
private func showStatusBar(enabled: Bool) {
showStatusBar = enabled
prefersStatusBarHidden()
}
然后在代码中像这样使用它:
//Hide Status Bar
showStatusBar(false)
OR
//Show Status Bar
showStatusBar(true)