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上状态栏 就是指的最上面的20像素高的部分 状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就...
    SimpleBK阅读 3,027评论 1 3
  • 一、知识普及 ios上状态栏 就是指的最上面的20像素高的部分状态栏分前后两部分,要分清这两个概念,后面会用到: ...
    街角仰望阅读 1,494评论 0 0
  • 知识普及 ios上状态栏 就是指的最上面的20像素高的部分状态栏分前后两部分,要分清这两个概念,后面会用到:前景部...
    狼牙月zz阅读 405评论 0 0
  • ios上状态栏 就是指的最上面的20像素高的部分状态栏分前后两部分,要分清这两个概念,后面会用到:前景部分:就是指...
    J_HX阅读 2,262评论 0 0
  • 一 身底下一阵阵冰凉袭来,怎么这么冷啊?这么冷! 我抬手去拉被子盖,可这手怎么这么沉,好不容易抬起,却只摸到一层薄...
    张译刈阅读 257评论 0 0