在启动画面期间隐藏状态栏

Hide statusbar during splash screen

我试图在闪屏期间隐藏状态栏,当我将 "Status bar is initially hidden" 添加到 plist 并将值设置为 YES 时效果很好,但是这会从整个应用程序中删除状态栏,即使我'已将 "View controller-based status bar appearance" 添加到 plist 并将值设置为 NO 并将以下内容添加到 appdelegate:

 UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent 

我怎样才能先删除状态栏而不在应用程序的其余部分删除它?

    UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: UIStatusBarAnimation)

在您的项目设置 -> 常规 -> 部署信息中,选中 "Hide status bar" 字段。

接下来在你的视图控制器中覆盖 - prefersStatusBarHidden 方法,像这样:

override func prefersStatusBarHidden() -> Bool {
   return false
}

这是针对 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 
}

这应该可以解决您的问题。

如果这对您来说有问题,您还可以在项目构建设置中配置启动颜色:

希望对您有所帮助!

在Swift3

首先从项目->目标隐藏状态栏如下

然后在 didFinishLaunchingWithOptions

中取消隐藏状态栏
func application(_application:UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
      UIApplication.shared.isStatusBarHidden = false
      return true 
}

在Swift 4 在 Info.plist 中添加:

Status bar is initially hidden YES

只需将突出显示的行添加到您的 Info.plist 文件中,它将适用于 Swift 4:

要在 iPad 上也隐藏,还要将 Info.plist 中的 UIStatusBarHidden~ipad 键设置为 YES