修改状态栏字体的颜色
状态栏的字体为黑色: 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];
}
修改状态栏字体的颜色相关推荐
- android白色状态栏字体颜色,Android 修改状态栏字体颜色
针对Android6.0+,MIUI6+,Flyme4+可以修改状态栏字体颜色: 1.对于android6.0,但是小米魅族不适配(见2,3) //设置成白色的背景,字体颜色为黑色. if (Buil ...
- 状态栏总结(沉浸式状态栏+状态栏颜色+状态栏字体的颜色)
今天总结一下状态栏的使用,当然也是参考别人的.但是总归自己得试试,然后把常用的几种情况记下来,因为这些东西是死的,下次拿过来就可以用. 一. 沉浸式状态栏 :Android 5.0以上才会支持沉浸式 ...
- Eclipse中怎样设置字体大小和修改注释字体的颜色
Eclipse中怎样设置字体大小 确认应用之后就可以看到编码的变大了 Eclipse中怎样设置修改注释字体的颜色 在eclispe中设置编辑区的背景颜色 Eclipse中工作区界面的调整
- ToolBar 修改菜单字体和颜色
博客: 安卓之家 微博: 追风917 CSDN: 蒋朋的家 简书: 追风917 ToolBar基本使用 关于ToolBar的使用,网上已经非常多了, 思路决定出路 so, 思路是这样的: 隐藏Acti ...
- 批量修改PPT字体和颜色的方…
原文地址:批量修改PPT字体和颜色的方法作者:阳光明媚 如果ppt幻灯片里使用了很多字体,现在需要将所有ppt的文字全部统一改为一种字体(如宋体),很多人可能想到的都是使用强大的宏来实现,其实大可不必 ...
- ppt如何替换其他mo ban_一键修改PPT字体、颜色的秘诀是……| PPT零基础入门04
上一篇:拾余:高效使用PPT需要知道几个快捷键? | PPT零基础入门03 前言 为了帮助PPT新手,摆脱对软件学习的不知所措,顺利入门.于是有了这个系列的文章:PPT零基础入门. 我希望够尽可能细致 ...
- C语言控制台窗口界面编程:printf格式化显示-修改字符字体、颜色和背景
环境:cygwin-Linux+GCC PS:windows的cmd下不能实现. 在linux终端中一个ls指令得出的显示结果文件夹.文件以及不同操作权限的文件的显示颜色是不同的,那么这个是如何实现的 ...
- csdn如何修改文字体及颜色大全
网站直达:https://blog.csdn.net/YZY_001/article/details/85257905绝对好用,颜色全的yipi,我用的里面的颜色写的.
- Android设置状态栏字体深色,Android实现修改状态栏背景、字体和图标颜色的方法...
搜索热词 前言: Android开发,对于状态栏的修改,实在是不友好,没什么api可以用,不像ios那么方便.但是ui又喜欢只搞ios一套.没办法.各种翻源码,写反射.真的蛋疼. 需求场景: 当too ...
最新文章
- java.lang.IllegalArgumentException异常处理的一种方法
- HDU - 4858 项目管理
- phphstudy运行不了网站_phpStudy访问速度慢和启动失败的解决办法
- JAVA入门级教学之(方法-2)
- 飞鸽传书确保服务数据的安全可靠
- docker-compose搭建kafka集群
- 嵌入式 U 盘自动挂载
- kali linux wps 2019 删除_良心推荐!Linux系统下常用办公软件大盘点
- ★LeetCode(453)——最小移动次数使数组元素相等(JavaScript)
- 利用第三方工具上传文件
- 百度开源的依存句法分析系统
- 电脑维修知识:电脑常见故障维修大全及解决方法
- linux操作系统实验目的,Linux操作系统实验报告.doc
- 快应用广告开发、各大手机平台测试id、错误码汇总
- python进制转换函数
- Windows应用程序C#创建MDI父窗体和子窗体
- 利用Python爬取朋友圈数据,爬到你开始怀疑人生
- 4GDTU在配电自动化的应用
- HTML5 视频直播(一)
- 装完声卡驱动还是没有声音?驱动人生8声音修复工具可以一键解决