(一)设置状态栏显示和隐藏
1、通过 Info.plist 文件增加字段,控制状态栏全局显示和隐藏
  • 在 Info.plist 文件中增加字段 Status bar is initially hidden  设置为 YES ,那么 app 在 LaunchScreen 页面隐藏状态栏
  • 在 Info.plist 文件增加字段 View controller-based status bar appearance 设置为 YES,那么app默认所有页面都会显示状态栏
2、通过代码,控制状态栏全局显示和隐藏
  • 在 Info.plist 文件 View controller-based status bar appearance 设置为 NO时,代码设置状态栏才会起作用。
  • 在 AppDelegate.m 中添加代码 [[UIApplication sharedApplication] setStatusBarHidden:NO];
3、通过代码,控制状态栏局部显示和隐藏
  • 在 Info.plist 文件 View controller-based status bar appearance 设置为 YES
  • 在需要隐藏状态栏的VC中重写写法 - (BOOL)prefersStatusBarHidden { return YES;},返回YES
 
 
(二)设置状态栏颜色
1、设置状态栏文字部分的颜色
  • 全局文字颜色:在 Info.plist 增加key值 Status bar style,value可以设置 UIStatusBarStyleDefault (默认黑色)和 UIStatusBarStyleLightContent (白色)。
  • 全局文字颜色:在 Info.plist 文件 View controller-based status bar appearance 设置为 NO时,且在 AppDelegate.m 中添加2行代码 [[UIApplication sharedApplication] setStatusBarHidden:NO];   [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 即可!注意:此处 Info.plist中添加的key值对应的value必须为NO,若为YES,则代码不起作用。
  • 局部文字颜色:此处分2种不同情况
           首先设置,在 Info.plist 文件 View controller-based status bar appearance 设置为 YES
           a. ViewController 不嵌套在 UINavigationController 中,需要设置以下
                重写 UIViewController 方法 - (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleDefault; }
            b. ViewController 为 UINavigationController 的rootVC,需要设置以下
                继承 UINavigationController 写一个子类,然后重写方法:
                - (UIStatusBarStyle)preferredStatusBarStyle {
                        return self.topViewController.preferredStatusBarStyle;
                }
 
关于以上状态栏的显示和隐藏、文字或背景颜色均为亲测,若存在问题,麻烦留言@我!

Status bar - iOS之状态栏的更多相关文章

  1. 安卓状态栏通知Status Bar Notification

    安卓系统通知用户三种方式: 1.Toast Notification 2.Dialog Notification 3.Status Bar Notification Status Bar Notifi ...

  2. Status bar and navigation bar appear over my view's bounds in iOS 7

    转自:http://stackoverflow.com/questions/17074365/status-bar-and-navigation-bar-appear-over-my-views-bo ...

  3. iOS 使用Method Swizzling隐藏Status Bar

    在iOS 6中,隐藏Status Bar很的简单. // iOS 6及曾经,隐藏状态栏 [[UIApplication sharedApplication] setStatusBarHidden:YE ...

  4. iOS开发-UINavigationBar和Status Bar实用技巧

    iOS7之后关于UINavigationBar和Status  Bar都发生了一系列的改变,如果不需要兼容iOS7之后的设备,按照网上有些资料去解决问题会踩到一些坑.在iOS 7中,我们可以修改每个V ...

  5. iOS Status Bar变换

    http://www.cocoachina.com/ios/20160718/17020.html 背景 iOS 中经常会有需要在某个界面改变状态栏颜色或者某个界面隐藏状态栏的需求.而改变状态栏颜色和 ...

  6. Java基础之扩展GUI——添加状态栏(Sketcher 1 with a status bar)

    控制台程序. 为了显示各个应用程序参数的状态,并且将各个参数显示在各自的面板中,在应用程序窗口的底部添加状态栏是常见且非常方便的方式. 定义状态栏时没有Swing类可用,所以必须自己建立StatusB ...

  7. iOS7隐藏状态栏 status Bar

    转自:http://blog.csdn.net/dqjyong/article/details/17896145 IOS7中,不仅应用的风格有一定的变化,状态栏变化比较大,我们可以看到UIVIEWCO ...

  8. 转 如何在IOS设备中去掉屏幕上的status bar

    引入如何在IOS设备中去掉屏幕上的status bar,即:不显示设备上方的[网络.时间.电池??]条?操作方法一:在-info.list项目文件中,加上“Status bar is initiall ...

  9. Material Design 之 定义状态栏(Status Bar)的颜色

    Hey,好久不见.今天遇到一个问题,想要把Status Bar 和 Tool Bar的颜色弄成一样的,或者是类似的,例如Material Design: 图中Status Bar颜色比Tool Bar ...

随机推荐

  1. NGINX编译选项

    一.减小编译后的文件大小Nginx源码文件解压后,找到auto/cc/gcc文件,注释或删除:# debugCFLAGS= "CFLAGS -g"即可取消debug模式.二:为特定 ...

  2. 性能测试工具Jmeter01-简介

    Jmeter介绍: Apache JMeter是Apache组织的开放源代码项目,是一个纯Java桌面应用,用于压力测试和性能测试.最初被设计用于Web应用测试后来扩展到其它测试领域 Jmeter有啥 ...

  3. pat1066. Root of AVL Tree (25)

    1066. Root of AVL Tree (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue An A ...

  4. mybatis连接mysql数据库实现的jdbc功能

    最近公司项目要使用myBatis,自己以前没有接触过,就在网上找到了一些资料研究了些.初步做出了基于myBatis连接mysql数据库的jdbc实现的功能. employee.java package ...

  5. .NET面试题1

    1. const和readonly有什么区别? const关键字用来声明编译时常量,readonly用来声明运行时常量.都可以标识一个常量,主要有以下区别: 1.初始化位置不同.const必须在声明的 ...

  6. IIS设置问题

    1.解决IIS7.5中部署WCF时,访问.svc文件的404错误问题  如果你直接在IIS 7中配置WCF,访问.svc文件时会出现404错误.解决方法,以管理员身份进入命令行模式,运行:" ...

  7. webapi 开启跨域支持

    1.Global文件: GlobalConfiguration.Configuration.EnableCors(); 2.需要跨域的action或controller添加跨域规则 [EnableCo ...

  8. Android Studio 小技巧(1):如何导入AAR文件

    1. 导入AAR.JAR文件 File- > New -> New Module 这样子AAR文件就导入了,然后在app中的build.gradle中做如下添加 dependencies ...

  9. ionic3+angular4+cordova 项目实例

    去年年底到现在几个月一直在忙项目,angular已经更新到angular4,ionic也同步更新到ionic3,这几天抽空用ionic3做了个小demo,代码发布到码云, https://gitee. ...

  10. gradle方式集成融云sdk dlopen failed: library "libsqlite.so" not found

    1.gradle implementation 'cn.rongcloud.android:IMLib:2.8.6' implementation 'cn.rongcloud.android:IMKi ...