状态栏的字体为黑色: UIStatusBarStyleDefault

状态栏的字体为白色: UIStatusBarStyleLightContent

一、在 info.plist  中,将 View controller-based status bar appearance  设为 NO

状态栏字体的颜色只由下面的属性设定,默认为白色:

// default is UIStatusBarStyleDefault

[UIApplication sharedApplication].statusBarStyle

解决个别  vc 中状态栏字体颜色不同的办法

1、在info.plist中,将View controller-based status bar appearance设为NO.

2、在app delegate中:

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

3、在个别状态栏字体颜色不一样的vc中

-(void)viewWillAppear:(BOOL)animated{

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;

}

-(void)viewWillDisappear:(BOOL)animated

{

[super viewWillDisappear:animated];

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

}

二、在 info.plist  中,将 View controller-based status bar appearance  设为 YES ,或者没有设置。

View controller-based status bar appearance的默认值就是YES。

如果View controller-based status bar appearance为YES。

则[UIApplication sharedApplication].statusBarStyle 无效。

用下面的方法:

1、在vc中重写vc的preferredStatusBarStyle方法。

-(UIStatusBarStyle)preferredStatusBarStyle

{

return UIStatusBarStyleDefault;

}

2、在viewDidload中调用:[self setNeedsStatusBarAppearanceUpdate];

但是,当vc在nav中时,上面方法没用 ,vc中的preferredStatusBarStyle方法根本不用被调用。

原因是,[self setNeedsStatusBarAppearanceUpdate]发出后,

只会调用navigation controller中的preferredStatusBarStyle方法,

vc中的preferredStatusBarStyley方法跟本不会被调用。

解决办法有两个:

方法一:

设置navbar的barStyle 属性会影响status bar 的字体和背景色。如下。

//status bar的字体为白色

//导航栏的背景色是黑色。

self.navigationController.navigationBar.barStyle = UIBarStyleBlack;

//status bar的字体为黑色

//导航栏的背景色是白色,状态栏的背景色也是白色。

//self.navigationController.navigationBar.barStyle = UIBarStyleDefault;

方法二:

自定义一个nav bar的子类,在这个子类中重写preferredStatusBarStyle方法:

MyNav* nav = [[MyNav alloc] initWithRootViewController:vc];

self.window.rootViewController = nav;

@implementation MyNav

- (UIStatusBarStyle)preferredStatusBarStyle

{

UIViewController* topVC = self.topViewController;

return [topVC preferredStatusBarStyle];

}

修改状态栏字体的颜色相关推荐

  1. android白色状态栏字体颜色,Android 修改状态栏字体颜色

    针对Android6.0+,MIUI6+,Flyme4+可以修改状态栏字体颜色: 1.对于android6.0,但是小米魅族不适配(见2,3) //设置成白色的背景,字体颜色为黑色. if (Buil ...

  2. 状态栏总结(沉浸式状态栏+状态栏颜色+状态栏字体的颜色)

    今天总结一下状态栏的使用,当然也是参考别人的.但是总归自己得试试,然后把常用的几种情况记下来,因为这些东西是死的,下次拿过来就可以用. 一. 沉浸式状态栏  :Android 5.0以上才会支持沉浸式 ...

  3. Eclipse中怎样设置字体大小和修改注释字体的颜色

    Eclipse中怎样设置字体大小 确认应用之后就可以看到编码的变大了 Eclipse中怎样设置修改注释字体的颜色 在eclispe中设置编辑区的背景颜色 Eclipse中工作区界面的调整

  4. ToolBar 修改菜单字体和颜色

    博客: 安卓之家 微博: 追风917 CSDN: 蒋朋的家 简书: 追风917 ToolBar基本使用 关于ToolBar的使用,网上已经非常多了, 思路决定出路 so, 思路是这样的: 隐藏Acti ...

  5. 批量修改PPT字体和颜色的方…

    原文地址:批量修改PPT字体和颜色的方法作者:阳光明媚 如果ppt幻灯片里使用了很多字体,现在需要将所有ppt的文字全部统一改为一种字体(如宋体),很多人可能想到的都是使用强大的宏来实现,其实大可不必 ...

  6. ppt如何替换其他mo ban_一键修改PPT字体、颜色的秘诀是……| PPT零基础入门04

    上一篇:拾余:高效使用PPT需要知道几个快捷键? | PPT零基础入门03 前言 为了帮助PPT新手,摆脱对软件学习的不知所措,顺利入门.于是有了这个系列的文章:PPT零基础入门. 我希望够尽可能细致 ...

  7. C语言控制台窗口界面编程:printf格式化显示-修改字符字体、颜色和背景

    环境:cygwin-Linux+GCC PS:windows的cmd下不能实现. 在linux终端中一个ls指令得出的显示结果文件夹.文件以及不同操作权限的文件的显示颜色是不同的,那么这个是如何实现的 ...

  8. csdn如何修改文字体及颜色大全

    网站直达:https://blog.csdn.net/YZY_001/article/details/85257905绝对好用,颜色全的yipi,我用的里面的颜色写的.

  9. Android设置状态栏字体深色,Android实现修改状态栏背景、字体和图标颜色的方法...

    搜索热词 前言: Android开发,对于状态栏的修改,实在是不友好,没什么api可以用,不像ios那么方便.但是ui又喜欢只搞ios一套.没办法.各种翻源码,写反射.真的蛋疼. 需求场景: 当too ...

最新文章

  1. java.lang.IllegalArgumentException异常处理的一种方法
  2. HDU - 4858 项目管理
  3. phphstudy运行不了网站_phpStudy访问速度慢和启动失败的解决办法
  4. JAVA入门级教学之(方法-2)
  5. 飞鸽传书确保服务数据的安全可靠
  6. docker-compose搭建kafka集群
  7. 嵌入式 U 盘自动挂载
  8. kali linux wps 2019 删除_良心推荐!Linux系统下常用办公软件大盘点
  9. ★LeetCode(453)——最小移动次数使数组元素相等(JavaScript)
  10. 利用第三方工具上传文件
  11. 百度开源的依存句法分析系统
  12. 电脑维修知识:电脑常见故障维修大全及解决方法
  13. linux操作系统实验目的,Linux操作系统实验报告.doc
  14. 快应用广告开发、各大手机平台测试id、错误码汇总
  15. python进制转换函数
  16. Windows应用程序C#创建MDI父窗体和子窗体
  17. 利用Python爬取朋友圈数据,爬到你开始怀疑人生
  18. 4GDTU在配电自动化的应用
  19. HTML5 视频直播(一)
  20. 装完声卡驱动还是没有声音?驱动人生8声音修复工具可以一键解决

热门文章

  1. Vue修炼手册 Day01
  2. 2022-1024节日快乐,里程碑纪念
  3. VS2019 中英文切换
  4. 前端战五渣学JavaScript——call、apply以及bind
  5. 帷幕的帷是什么意思_帷是什么意思 帷字五行属什么
  6. 解决该页正在访问其控制范围之外的数据。这有些危险。是否继续?
  7. 解决一个问题还是解决一类问题
  8. matlab有哪些课程设计,MATLAB课程设计报告
  9. html语言大小写敏感吗,css对大小写敏感吗?
  10. rancher 和 Kubernetes有什么区别?