iOS7下Status Bar字体颜色修改

摘要:
原文来自这里:更改iOS 7下StatusBar的字体颜色。旧项目遇到了需要在iOS 7上修改StatusBar字体颜色的问题。症状如下:导航栏设置为黑色后,iPhone上StatusBar的字体颜色将自动变为白色,但iPad上状态栏的字体颜色仍然是黑色的,这让人很难看清。显然,iOS 7下的状态栏与当前的viewController相关联。上面介绍了如何在iOS7中修改状态栏。最重要的一点是,viewController可以在iOS7下调整状态栏的样式,这需要我们设计应用程序。

原文来自这里:iOS7下Status Bar字体颜色修改

旧项目在iOS7上遇到status bar字体颜色需要修改的问题,症状如下:导航栏设置为黑色后,iphone上status bar的字体颜色会自动变成白色,但是在ipad上status bar的字体颜色还是黑色,这样就看不清楚了。

为了搞清原因,新建了一个Mater-Detail模版工程,观察了下status bar的颜色变化,如图:

iOS7下Status Bar字体颜色修改第1张

iphone- default

iOS7下Status Bar字体颜色修改第2张

ipad default

可见默认的,bar是白色透明,status bar上的字体是黑色。然后尝试把master中的bar修改成黑色不透明:

[self.navigationController.navigationBar setBarStyle:UIBarStyleBlack];

[self.navigationController.navigationBar setTranslucent:NO];

然后再观察:

iOS7下Status Bar字体颜色修改第3张

iphone black

iOS7下Status Bar字体颜色修改第4张

ipad black

这时,iphone上的status bar自动转换成白色,而ipad上还是黑色。因为只修改了Master的nav bar,所以ipad上看上去有点奇怪。很显然,iOS7下的status bar是和当前的viewController有关联的。这让我一下子想到了Apple的UI Transition Guide:

iOS7下Status Bar字体颜色修改第5张

因此我们有两种解决方案:

1. 调用 setNeedsStatusBarAppearanceUpdate, 然后实现

-(UIStatusBarStyle)preferredStatusBarStyle;

注意ipad下,window的rootViewController是SpliteViewController,我们需要写一个SpliteViewController子类,在子类里实现上述方法。

2. 在infoPlist里设置UIViewControllerBasedStatusBarAppearance为NO,然后在代码里添加:

[application setStatusBarStyle:UIStatusBarStyleLightContent];

最后的效果:

iOS7下Status Bar字体颜色修改第6张

ipad 修改

Master部分status bar的字体变成白色了。

以上说明了iOS7下,status bar修改的方法。最重要的一点,就是iOS7下viewController可以调整status bar的式样,这就要求我们在App设计的时候。注意导航栏的背景色,背景图片等的使用。

免责声明:文章转载自《iOS7下Status Bar字体颜色修改》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ORACLE物化视图实体化试图(Materialized View)介绍Android color颜色-色号总结下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

itouch/iphone/ipad充不上电的解决办法

  itouch/iphone/ipad长时间没有用,或是没电自己关机了,再充电开机变白苹果了,网上的方法用遍了都不管用,今天找到一个,很有效,特此分享给大家,具体操作如下:   首先把itouch/iphone/ipad连接至电脑,在出现白苹果的时候,按住电源键和Home键(主菜单键),5秒左右,就会黑屏。然后立刻按住电源键3秒,接下来不松开电源键的同时...

检测当前运行环境——移动端与PC端。

方法1: $(function checkBrowser(){ var browser={      versions:function(){             var u = navigator.userAgent, app = navigator.appVersion; return { //移动终端浏览器版本信息                ...

uniapp、Vue组件的使用引用子组件、传值

1 //子组件 bar.vue 2 <template> 3 <div class="search-box"> 4 <div @click="say" :title="title" class="icon-dismiss"></div> 5 </div> 6 </...

基于HTML5的iPad电子杂志横竖屏自适应方案

基于HTML5的iPad电子杂志横竖屏自适应方案 (转载自:http://www.yeeach.com/?p=1172) 基于HTML5来制作iPad电子杂志,横屏及竖屏自适应是个大问题,查找了半天资料,没有一篇像样的文章可供参考。将思路及例子分享一下。例子并不严谨和规范,仅供参考。 大致思路: 1、对横屏(portrait)和竖屏(landscape)情...

R绘图 第七篇:绘制条形图(ggplot2)

使用geom_bar()函数绘制条形图,条形图的高度通常表示两种情况之一:每组中的数据的个数,或数据框中列的值,高度表示的含义是由geom_bar()函数的参数stat决定的,stat在geom_bar()函数中有两个有效值:count和identity。默认情况下,stat="count",这意味着每个条的高度等于每组中的数据的个数,并且,它与映射到y的...

PHPStorm--美化

PHPStorm是一个强大编译器,使用它开发PHP非常方便,做个小笔记来记录下怎么配置一个美观的环境,这里我用的PHPstorm2016.2: 隐藏一些工具条,更换主题 打开一个项目后我习惯把一些工具条隐藏,在view菜单中把Tool buttons,Status bar,Navigation bar的勾勾去掉。输入'command' + ',' 进入配置...