隐藏状态栏在iOS 8应用程序中

我努力了

[[UIApplication sharedApplication] setStatusBarHidden:YES]; 

这什么都不做。

我已经在我的Info.plist文件中查看了“基于视图控制器的状态栏外观”,但它不在那里。

如何隐藏屏幕顶部的白色状态栏(使用时钟和电池充电)在Xcode 6的应用程序中? 谢谢!

您需要在每个视图控制器上覆盖此方法,除非您有该plist项。

Objective-C的

 -(BOOL)prefersStatusBarHidden{ return YES; } 

Swift 2

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

Swift 3

 override var prefersStatusBarHidden: Bool { return true } 

不要忘记设置(如果您通过调用presentViewController:animated:completion:方法呈现视图控制器):

Objective-C的

 vcToBeShownWithoutStatusbar.modalPresentationCapturesStatusBarAppearance = YES; 

迅速

 vcToBeShownWithoutStatusbar.modalPresentationCapturesStatusBarAppearance = true 

文档: https : //developer.apple.com/reference/uikit/uiviewcontroller/1621453-modalpresentationcapturesstatusb

  1. 转到Info.plist文件
  2. 将鼠标hover在其中一行上,将显示(+)和( – )button。
  3. 点击加号button添加新的密钥
  4. input大写字母V开始,自动第一个选项将是基于视图控制器的状态栏外观 。 将其作为KEY添加。
  5. 将VALUE值设为“NO”
  6. 转到你的AppDelegate.m Objective-C( 对于Swift语言:AppDelegate.swift
  7. 在方法中添加代码

对于Objective-C:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [application setStatusBarHidden:YES]; return YES; } 

对于Swift:

 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey:Any]?) -> Bool { application.statusBarHidden = true return true } 

完成! 运行你的应用程序,没有更多的状态栏!

你可以隐藏状态栏而不写一行代码,它只需要两个入口info.plist第一个

“查看基于控制器的状态栏外观”设置为NO

第二个是

“状态栏最初隐藏”设置为YES

如果不存在,可以将该行添加到Info.plist文件中。 只要到Xcode的项目中,转到“信息”部分,然后将鼠标hover在其中一个现有的行上。 应该出现一个“+”button,允许您添加一行并input“基于视图控制器的状态栏外观”。

对于使用Swift 3的iOS 10,您应该使用:

 override var prefersStatusBarHidden: Bool { get { return true } } 
  1. 打开info.plist
  2. “查看基于控制器的状态栏外观”设置为NO
  3. “状态栏最初隐藏”设置为YES
  4. 完成

没有必要写一行代码…干杯

如果你使用UIDocumentInteractionController来显示数据,那么你永远不会隐藏状态栏,所以我有这个替代

  [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 

此行将状态栏内容的颜色更改为白色