我正试图在启动画面期间隐藏状态栏,当我将“状态栏最初隐藏”添加到plist并将值设置为YES时,这可以正常工作,但是这会从enitre应用程序中删除statusBar,即使我是添加了“查看基于控制器的状态栏外观”到plist并将值设置为NO并添加到appdelegate之后:
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent
如何在不删除应用程序其余部分的情况下删除statusBar?
答案 0 :(得分:48)
这是针对Xcode 8.3.3的Swift 3进行了更新
在Info.plist中添加以下密钥:
然后在您的AppDelegate文件中添加didFinishLaunchingWithOptions
部分中的以下内容:
func application(_application:UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
UIApplication.shared.isStatusBarHidden = false
return true
}
这应该解决你的问题。
如果您遇到问题,还可以在项目构建设置中配置启动颜色:
希望有所帮助!
答案 1 :(得分:17)
在Swift 4中 在Info.plist中添加:
Status bar is initially hidden
YES
答案 2 :(得分:11)
在您的项目设置中 - >常规 - >部署信息,选中“隐藏状态栏”字段。
接下来在视图控制器中覆盖- prefersStatusBarHidden方法,如下所示:
override func prefersStatusBarHidden() -> Bool {
return false
}
答案 3 :(得分:3)
答案 4 :(得分:1)
在Swift 3中
首先隐藏项目中的状态栏 - >目标如下
然后取消隐藏didFinishLaunchingWithOptions
中的状态栏func application(_application:UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
UIApplication.shared.isStatusBarHidden = false
return true
}
答案 5 :(得分:0)
UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: UIStatusBarAnimation)
答案 6 :(得分:0)
要同时隐藏在iPad上,请将Info.plist中的output = [1,2,4,5, 9,10,13,14, 20,21,26,27]
键设置为UIStatusBarHidden~ipad
。