ios状态栏UIStatusBar设置

状态栏就是显示运营商、时间、电量、WiFi的那块

隐藏和显示状态栏

一、隐藏状态栏

iOS8以上的适配:

当然如果想一直隐藏手机状态栏, 就不用去执行步骤2, 如果想等项目启动完成后再状态栏显示出来就去执行步骤2.
1、 开启项目- General - Status Bar Style -勾选Hide during application launch
2、 在appDelegate.m文件内

- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//启动完成后再显示手机状态栏
application.statusBarHidden = NO;
return YES;
}
iOS7以下的适配:

第一步:在info.plist中添加一个字段:view controller -base status bar 设置为NO
第二步:在一个所有界面都继承的父类里添加:

  if (IOS7_OR_LATER) { // 判断是否是IOS7
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];
  }

二、显示状态栏

application.statusBarHidden = NO;

状态栏颜色

一、背景色

  • 背景色就是指运营商、电量后面的背景色,可以设置黑色、白色、透明色,具体设置如下:

二、前景色

  • 就是运营商、电量、等显示的颜色,同样可以设置黑色、白色、透明色
    具体实现:
  • 1、 设置启动状态栏颜色改变(白色),而视图中状态栏不变化(默认黑色)
方法1
方法2
  • 2、 设置 启动和页面视图的黄太懒都为白色/黑色
    • a.在Info.plist里面添加一行View controller-based status bar appearance = NO 即可,如下图:
在info.plist设置
在控制器.m设置

navigationBar的setBarTintColor接口,用此接口可改变statusBar的背景色

注意:一旦你设置了navigationBar的- (void)setBackgroundImage:(UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics接口,那么上面的setBarTintColor接口就不能改变statusBar的背景色,statusBar的背景色就会变成纯黑色。

另辟蹊径

创建一个UIView,
设置该UIView的frame.size 和statusBar大小一样,
设置该UIView的frame.origin 为{0,-20},
设置该UIView的背景色为你希望的statusBar的颜色,
在navigationBar上addSubView该UIView即可。

refer:

你可能感兴趣的:(ios状态栏UIStatusBar设置)