Xcode9之前

设置状态栏颜色首先在info.plist文件中,加入UIViewControllerBasedStatusBarAppearance = false;

    <key>UIViewControllerBasedStatusBarAppearance</key>
<false/>

让后在delegate didFinishLaunchingWithOptions 方法中加入下面的代码就可以了;

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];

Xcode9之后

xcode9.1我在设置状态栏字体为白色时,按照上面的方法行不通,搜罗了一圈有了结果;

同样在info.plist中,加入 UIViewControllerBasedStatusBarAppearance = true, 注意是true;

<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>

接着新建一个基于 UINavigationController 的类 BaseNavigationController,一个基于 UIViewController 类 BaseViewController ;

BaseNavigationController.m

-(UIViewController *)childViewControllerForStatusBarStyle {
return self.topViewController;
} -(UIViewController *)childViewControllerForStatusBarHidden {
return self.topViewController;
}

BaseViewController.m

-(UIStatusBarStyle)preferredStatusBarStyle{
///这里设置白色
return UIStatusBarStyleLightContent;
}
-(BOOL)prefersStatusBarHidden{
return NO;
}

在项目中如果新建UINavigationController就继承BaseNavigationController,新建UIViewController就继承BaseViewController,这样就可以实现状态栏字体改变了;如果你是已经有的现有项目,可以扩展UINavigationController和UIViewController,来进行实现;

最新文章

  1. 总结Controller向View传值的方式(转)
  2. java调用shell获取返回值
  3. css之overflow
  4. 2. Basic environment configuration
  5. 分享几个Javascript 封装方法
  6. cocos2dx 搭建 android 平台 -2
  7. 提取html中的src 路径
  8. Contest 7.23(不知道算什么)
  9. 关于Winsock编程中IO重叠的概念
  10. ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十三节--RBAC模式及ABP权限管理(附送福利)
  11. SVM公式推导笔记
  12. Ethercat 学习总结一:协议总结
  13. bash配色
  14. Jenkins 部署自动化测试脚本(15)
  15. Python复习笔记(十)Http协议--Web服务器-并发服务器
  16. TCP是如何实现三次握手的?
  17. python笔记之psutil模块
  18. Python: 矩阵与线性代数运算
  19. firedac odbc sql server driver连接占线导致另一个hstmt
  20. ViewPage实现无限轮播画廊效果

热门文章

  1. UESTC 1584 Washi与Sonochi的约定【树状数组裸题+排序】
  2. 2017广东工业大学程序设竞赛E题(倒水)
  3. oracle和mysql分页
  4. IntelliJ IDEA 2017.3下载与安装
  5. JS高级用法
  6. vmstat &amp; mpstat &amp; w
  7. Python 使用 virtualenvwrapper 安装虚拟环境
  8. UserView--第二种方式(避免第一种方式Set饱和),基于Spark算子的java代码实现
  9. 关于OELD屏显示电池电量的简易方法
  10. 关于将dede织梦data目录迁移出web目录