隐藏状态栏在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
- 转到Info.plist文件
- 将鼠标hover在其中一行上,将显示(+)和( – )button。
- 点击加号button添加新的密钥
- input大写字母V开始,自动第一个选项将是基于视图控制器的状态栏外观 。 将其作为KEY添加。
- 将VALUE值设为“NO”
- 转到你的AppDelegate.m Objective-C( 对于Swift语言:AppDelegate.swift )
- 在方法中添加代码
对于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 } }
- 打开info.plist
- “查看基于控制器的状态栏外观”设置为NO
- “状态栏最初隐藏”设置为YES
- 完成
没有必要写一行代码…干杯
如果你使用UIDocumentInteractionController来显示数据,那么你永远不会隐藏状态栏,所以我有这个替代
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
此行将状态栏内容的颜色更改为白色