看着状态栏是什么和导航栏,看得出我用的是什么手机么,,

WWDC刚过,虽然苹果对于自己系统并没有太多惊人的新消息,但很多细节上的改进依旧领果...
业界早已经曝光了苹果将会推出 12 英寸屏幕 iPad Pro 的消息,但因为种种原因这款设备...
不得不说,三星好会变着花样圈钱。
相对于Apple Watch本身,表带的利润更高。已经购买了Apple Watch的锋友们,你们有几款...
苹果卖的是硬件,又不是数据,所以没必要追查用户的数据,是这样吗?
iOS 9允许开发者开发屏蔽广告的插件,谷歌自然会感到不爽,他们会用什么样的方法来进...
Apple Watch第二代曝光,你准备好了吗?
苹果还没有公布官方数据,好在各大调查分析机构也没闲着,你知道一款 398 元人民币的...
生活本该简单,傻傻才是“范儿”,不管遇到啥事,笑笑就算!《I, Caper》是 BOCOO Onl...
《拖拽赛车》是一款玩法非常独特的赛车竞速游戏,游戏结合了赛车竞速与赛车漂移两种元...
《杀破狼2》手游是以电影故事背景进行制作,故事开始会以美式漫画进行剧情的讲述,这...
《凶宅怨魂》(House of Grudge)是以开发解谜游戏见长的游戏开发商 gameday 于本周推...
《异形工厂》是由开发商Pixelbite制作并发行的,说到这个开发商就相信许多玩家对于他...
大家都知道拍照不是按下快门就结束的事情,一张好的照片需要考虑光线和构图,优秀的构...
《萨兰之剑》(SARAM)是游戏开发商 Rabia Masood 推出的一款 A·RPG 游戏,无论内容...
为了满足消费者的不同喜好,酷能量(kuner)的第二款酷壳 iPhone 6充电版,即 钻石款 ...
一款小小的适配器是如何在55度杯等年度大热创意单品环伺下脱颖而出,今天就专门给大家...
大胆的预测一下,正如红米和魅蓝在百元机市场的撕杀一样,酷乐视新Q6能否开启一个全新...
微型投影机,是投影技术发展中的一个重要分支,在力求投影大屏幕影像的同时,微投更强...
“Dragon Guardian”手机保护壳,宫廷城堡风、24K 金外加闪亮镶钻……集各种奢华于一...
本周三,D-EYE公司宣布准备推出一款同名的基于iPhone的视网膜成像配件。
如果真有12.9英寸的iPad Pro,外设厂商又要再改进他们的产品了。
如今手机已经占领世界,人们几乎每一刻都离不开手机,对于需要频繁使用手机的人来说,...
现在上传封包及教程,黑色状态栏导航栏包括按键全套美化,素材全部取之手机内部素材图标加以改进!
注册时间 最后登录
在线时间91 小时 UID
主题帖子人气
青苹果, 积分 91, 距离下一级还需 109 积分
大家不好意思哈!上次发的这个贴子后就没去管它,今晚打开一看,还是有一部分人很喜欢我这个主题,这也不白费我花了三个晚上制作出来的主题,这个主题我觉得配黑色的手机还是很不错的,白色的手机我想可能不会很完美,女孩子也许也不会喜欢。不管喜欢还是不喜欢,我希望大家还是认真看完我下面的教程,这样大家以后替换什么的都可以清楚点。
好了,废话不多说了,还是跟原来一样上一下图片看大家喜欢不,喜欢的可以下素材,不喜欢也可以看看。
好了现在上教程请替换之前一定要认真看一看,替换完之后还有几个地方要做的
1:请替换每一个步骤都要先备份,大家可以建一个文件夹把要备份的拖进去文件夹就可以了。
2:把下载下来的黑色状态栏导航栏压缩包解压,替换进去System/Library/Frameworks/UIKit.framework/里面
3:替换完之后,大家会发觉打开程序的一瞬间,还是会出现原来的蓝色背景导航栏图,比如设置,电话(包括里面的:个人收藏,最近通话,通讯录,拔号键盘,语音留言),信息,通讯录,邮件,Safari,日历,时钟(包括里面的:闹钟,秒表,计时器)等等,我好像只发现这些跟我黑色导航栏主题有关连的,大家可以自个去发觉,如果一担发现某些程序会出现,可以自个处理。好了,说一下如何处理:进入:Applications里是系统自带的程序文件:电话,短信,时间,日历等等都在里面,大家只要花上十分钟,进入到每一个程序里面,里面有一张图片,就是大家打开程序的一瞬间弹出的蓝色图片,把那一张删除,时钟是四张就要删四张,电话也是,删之前请大家按照对应的备份,以后要用可以对应的放回去,当然了大家如果不想删掉,也可以自个做一张一样的黑色替换进去,打开的一瞬间就是你替换的图。好了,我的解决的方按是这样,如果大家还有更好的解决请自个搞定。
4:完成了上面的三步后:现在就要处理状态栏如何变黑了:这个封包里面我不太想去找,因为很麻烦。我给大家一个不错的插件,可以让你的状态栏变成黑色的。名字叫:AntiTint
这个插件装上后,除了Cydia还是会变成蓝色后,其它的都有变成黑色的,不过这插件有一个好处是该黑的就黑,不应该黑的它不会黑,比如照片栏是灰透明的,这个插件就没改成黑的,这次主题我的照片里的导航栏我也没改,改了后很难看,所以没改,还是原来的。
5:Safari程序,这个程序导航栏封包里是没办法改的,要进到本程序里面去改:在Applications,找到Safari进入找到NavigationBarBackground@2x~iphone.png 下面我会上传文件,替换进去就可以了,替换前备份。
6:大家会觉得为什么不把导航栏下面的背景也换成黑色的,我有试过,实在是太难看了,我最后选择替换成白色的,替换完之后我觉得还可以,你们下载的封包就是替换成白色的,如果大家不喜欢,可以自行替换。我把素材和名字上传给大家,你们自个替换。
7有人很喜欢我的提示框这里我也上传大家,喜欢的话,自个下载去替换
8:拔号面板替换Applications/FaceTime/把素材替换进去就可以了 ,替换前请备份。
9:以上的全部支持6.0以上的固件,5.0以上的固件全部都不支持。好了,到这里全部完成了,如果还有什么问题请大伙留言,在这里我还是要说一下,请不要问我导航栏的文件名及路径,因为替换这导航栏不是一个名字和一个路径就能够替换完的,替换这一正套至少要几十上百个名字图片,每一张都不一样,要一张一张的找,一张一张的对比,更可恶的是每个导航栏的图片都要扩大才能知道是什么色。肉眼是看不见的,可以去下载我下面的(导航栏背景图)你们可以看见这背景的图片有多小。这个主题我做了三个晚上到天亮,可以想像是有多麻烦,所以请不要问我替换的路径和名字因为我自个都不记得了。对了,还跟大家说一下,我的这套黑色素材全部都是取状态栏原封包的全部黑色素材然后再加以修改尺寸名字替换出来的,所以都是些很完美的素材。状态栏上面的信号条,WIFI,电池什么的我都没有替换,因为我不喜欢,所以没改,如果大家想改就自个去找素材改,这个很简单的。
好啦!全部完成了,希望大家喜欢,喜欢的话记得给我加分哦!讨厌那些只拿不回的,不过无所谓啦!就当送给大家啦!
大家好!今天是3月20号,我重新上传个我现在最新的黑色状态栏ork包,修改如下:修改部分细节,修改状态栏背景原先要用插件AntiTint 插件才能变成黑色的背景,现在已经不用插件就可以变成黑色的了,而且更加完美。如果最新封包大家没看见,请到35楼去下载。
(2.62 MB, 下载次数: 335)
00:27 上传
点击文件名下载附件
原先旧的封包和素材请在三楼和四楼下载
看这里看这里----------------------------------------------------------------------------------------------------------------------------------------------------(分割线)大家好!今天是3月25号,楼主今天再次更新状态栏封包ork。(备注:修改的封包是3月20发布的封包)修改如下:1:修改去掉Safari里右边白色搜索框里多出来的两条虚线上下各一条已去除。2:修改包括电话本,邮件等在内的全部搜索框背景由原来的深灰色改成黑色的。3:设置里的开关按键全部改回原系统按键。4:修改部分以前没替换完的导航栏按键颜色。
(3.56 MB, 下载次数: 369)
23:55 上传
点击文件名下载附件
————————好了,楼主已经把状态栏更新这里了,封包里有一部分更小的细节楼主真的找不到了,也真的不想再找了。按楼主本人的想法已经觉得很完美了足够了也不想再折腾了,现在6.13已经出来了,不能像以前一样想怎么折腾都行,现在不行了万一白苹果了那就只能入狱了。所以楼主这次是最后一次更新了,以后也不会再更新了。在这里谢谢大家的支持。
<p id="rate_6479" onmouseover="showTip(this)" tip="&a
href=&forum.php?mod=redirect&goto=findpost&ptid=6214305&pid=&fromuid=1&&&span &请问Safari标题栏背景怎么改&/span&&/a&&人气 + 7
" class="mtn mbn">
<p id="rate_3115" onmouseover="showTip(this)" tip="感谢分享^_^&人气 + 1
" class="mtn mbn">
<p id="rate_0088" onmouseover="showTip(this)" tip="&人气 + 1
" class="mtn mbn">
<p id="rate_6496" onmouseover="showTip(this)" tip="有winterboard包吗?不想封包的&人气 + 1
" class="mtn mbn">
<p id="rate_9989" onmouseover="showTip(this)" tip="感谢分享^_^&人气 + 1
" class="mtn mbn">
<p id="rate_4607" onmouseover="showTip(this)" tip="5.1.1的过来留个记号&人气 + 1
" class="mtn mbn">
<p id="rate_6291" onmouseover="showTip(this)" tip="威锋有你更精彩:)&人气 + 1
" class="mtn mbn">
<p id="rate_2602" onmouseover="showTip(this)" tip="威锋有你更精彩:)&人气 + 1
" class="mtn mbn">
<p id="rate_9543" onmouseover="showTip(this)" tip="楼主,你35楼没有东西下载啊?&人气 + 1
" class="mtn mbn">
<p id="rate_1651" onmouseover="showTip(this)" tip="支持一下&人气 + 5
" class="mtn mbn">
<p id="rate_3484" onmouseover="showTip(this)" tip="好人一生平安&人气 + 3
" class="mtn mbn">
<p id="rate_5411" onmouseover="showTip(this)" tip="威锋有你更精彩:)&人气 + 5
" class="mtn mbn">
<p id="rate_1682" onmouseover="showTip(this)" tip="楼主+我QQ 我这个灰色的包全改了 现在有个状态栏的问题需要解&人气 + 1
" class="mtn mbn">
<p id="rate_066" onmouseover="showTip(this)" tip="感谢分享^_^&人气 + 1
" class="mtn mbn">
<p id="rate_837" onmouseover="showTip(this)" tip="safari的标题颜色能改成白色吗&人气 + 1
" class="mtn mbn">
<p id="rate_4850" onmouseover="showTip(this)" tip="拨号面板收了。&人气 + 1
" class="mtn mbn">
评分次数23
感谢分享^_^
有winterboard包吗?不想封包的
感谢分享^_^
5.1.1的过来留个记号
威锋有你更精彩:)
威锋有你更精彩:)
楼主,你35楼没有东西下载啊?
好人一生平安
威锋有你更精彩:)
楼主+我QQ 我这个灰色的包全改了 现在有个状态栏的问题需要解
感谢分享^_^
safari的标题颜色能改成白色吗
拨号面板收了。
包呢,黑色的素材呢
不错,黑色不错,收了。
不错,很喜欢,黑色的
精品文章^_^
支持。爱你的拨号版
精品文章^_^
辛苦了!感谢分享!
注册时间 最后登录
在线时间91 小时 UID
主题帖子人气
晕,我素材不是有上传吗,怎么不出现
我现在就查一下哈。
注册时间 最后登录
在线时间219 小时 UID
主题帖子人气
附件呢,撸主?
注册时间 最后登录
在线时间91 小时 UID
主题帖子人气
00:16 上传
点击文件名下载附件
1 KB, 下载次数: 96
00:16 上传
点击文件名下载附件
24 KB, 下载次数: 181
00:16 上传
点击文件名下载附件
1 KB, 下载次数: 171
注册时间 最后登录
在线时间91 小时 UID
主题帖子人气
不好意思,现在都补上了。
00:17 上传
点击文件名下载附件
1 MB, 下载次数: 175
00:20 上传
点击文件名下载附件
3.25 MB, 下载次数: 248
注册时间 最后登录
在线时间1446 小时 UID
主题帖子人气
注册时间 最后登录
在线时间531 小时 UID
主题帖子人气
注册时间 最后登录
在线时间419 小时 UID
主题帖子人气
希望楼主可以制成WB主题
注册时间 最后登录
在线时间1108 小时 UID
主题帖子人气
辛苦了!感谢分享!
注册时间 最后登录
在线时间1446 小时 UID
主题帖子人气
支持,不过俺是你的前辈了
威锋旗下产品
Hi~我是威威!
沪ICP备号-1 丨 深公安网监备案号 5
增值电信业务经营许可证:
Powered by Discuz!看得出这状态栏是什么手机吗_百度知道
看得出这状态栏是什么手机吗
com/zhidao/wh%3D450%2C600/sign=e204ccaa6a09ab2fc275308//zhidao/wh%3D600%2C800/sign=f7855e10add3fd1f365caa3c007ed0a20cf431adbee18e074e36acaf2edd98d9.hiphotos.baidu.hiphotos.baidu://f://f.com/zhidao/pic/item/b3b7d0a20cf431adbee18e074e36acaf2edd98d9.jpg" esrc="http://f.baidu.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="<a href="http&nbsp
提问者采纳
安卓手机主题都是可以更换的,这个主题的状态栏也没有什么特色,应该不能从状态栏看出手机型号
品牌也不能?
提问者评价
太给力了,你的回答完美的解决了我的问题!
其他类似问题
为您推荐:
状态栏的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁当前访客身份:游客 [
这个人很懒,啥也没写
:我最近做的一个项目里也有这样的需求,我的做法是...
:引用来自“vondall”的评论楼主,直接用Multipa...
:另外,给楼主推荐个/,...
:楼主,直接用MultipartFile的transferTo方法不就...
:对于初学者来说真听有用的。。。。
:好文章啊!!
:#此处输入软件名#
:他能存相同的两个对象吗
:感觉仅仅适用于稀疏数组,密集数组存储代价偏高啊
今日访问:0
昨日访问:31
本周访问:135
本月访问:521
所有访问:13343
IOS7的状态栏和导航栏
发表于8个月前( 22:48)&&
阅读(1316)&|&评论()
0人收藏此文章,
iOS 7中默认的导航栏
在开始定制之前,我们先来看看iOS 7中默认导航栏的外观。通过Xcode用Single View Controller模板创建一个工程。然后将view controller嵌入到一个navigation controller中。如果你不想从头开始,那么也可以在这里到这个示例工程。
Xcode 5包含有iOS 6和iOS 7模拟器,我们可以在这两个不同的模拟器版本中运行示例程序,进行对比,如下图所示:
vcC4tcSxs76w0dXJqzwvaDM+CjxwPtTaaU9TIDfW0KOssrvU2cq508N0aW50Q29sb3LK9NDUwLTJ6NbDtby6vcC4tcTR1cmro6y2+MrHyrnTw2JhclRpbnRDb2xvcsr00NTAtNDeuMSxs76wyauho87Sw8e/ydLU1No8Y29kZT5BcHBEZWxlZ2F0ZS5tPC9jb2RlPs7EvP7W0LXEt723qDxjb2RlPmRpZEZpbmlzaExhdW5jaGluZ1dpdGhPcHRpb25zOjwvY29kZT7A78PmzO2808jnz8K0+sLrwLTQ3rjE0dXJq6O6PC9wPgoKPHRhYmxlPgo8dGJvZHk+Cjx0cj4KPHRkIGNsYXNzPQ=="gutter"&
&codeclass="objc"&[[UINavigationBar appearance] setBarTintColor:[UIColor yellowColor]];
效果如下图所示:
一般情况,我们都会使用自己的颜色,下面这个宏用来设置RGB颜色非常方便:
&codeclass="objc"&#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue &0xFF0000) &&16))/255.0green:((float)((rgbValue &0xFF00) &&8))/255.0blue:((float)(rgbValue &0xFF))/255.0alpha:1.0]
将上面这个宏放到AppDelegate.m文件中,然后通过这个宏来创建一个UIColor对象(根据指定的RGB)。如下示例:
&codeclass="objc"&[[UINavigationBar appearance] setBarTintColor:UIColorFromRGB(0x067AB5)];
默认情况下,导航栏的translucent属性为YES。另外,还会对所有的导航栏做模糊处理,这样可以让iOS 7中导航栏的颜色更加饱和。如下图,是translucent值为NO和YES的对比效果:
要想禁用translucent属性,可以在Storyboard中选中导航栏,然后在Attribute Inspectors中,取消translucent的勾选。
在导航栏中使用背景图片
如果希望在导航栏中使用一个图片当做背景,那么你需要提供一个稍微高一点的图片(这样可以延伸到导航栏背后)。导航栏的高度从44 points(88 pixels)变为了64 points(128 pixels)。
我们依然可以使用setBackgroundImage:方法为导航栏设置自定义图片。如下代码所示:
&codeclass="objc"&[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"nav_bg.png"] forBarMetrics:UIBarMetricsDefault];
示例工程中提供了两个背景图片:nav_bg.png 和 nav_bg_ios7.png。运行一下试试看吧,如下效果:
定制返回按钮的颜
在iOS 7中,所有的按钮都是无边框的。其中返回按钮会有一个V型箭头,以及上一个屏幕中的标题(如果上一屏幕的标题是空,那么就显示”返回”)。要想给返回按钮着色,可以使用tintColor属性。如下代码所示:
&codeclass="objc"&[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
除了返回按钮,tintColor属性会影响到所有按钮标题和图片。
如果想要用自己的图片替换V型,可以设置图片的backIndicatorImage和backIndicatorTransitionMaskImage。如下代码所示:
&codeclass="objc"&[[UINavigationBar appearance] setBackIndicatorImage:[UIImage imageNamed:@"back_btn.png"]];
[[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@"back_btn.png"]];
图片的颜色是由tintColor属性控制的。
修改导航栏标题的字体
跟iOS 6一样,我们可以使用导航栏的titleTextAttributes属性来定制导航栏的文字风格。在text attributes字典中使用如下一些key,可以指定字体、文字颜色、文字阴影色以及文字阴影偏移量:
UITextAttributeFont – 字体keyUITextAttributeTextColor – 文字颜色keyUITextAttributeTextShadowColor – 文字阴影色keyUITextAttributeTextShadowOffset – 文字阴影偏移量key
如下代码所示,对导航栏的标题风格做了修改:
&codeclass="objc"&NSShadow *shadow = [[NSShadow alloc] init];
&&&&shadow.shadowColor = [UIColor colorWithRed:0.0green:0.0blue:0.0alpha:0.8];
&&&&shadow.shadowOffset = CGSizeMake(0,1);
&&&&[[UINavigationBar appearance] setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&[UIColor colorWithRed:245.0/255.0green:245.0/255.0blue:245.0/255.0alpha:1.0], NSForegroundColorAttributeName,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&shadow, NSShadowAttributeName,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&[UIFont fontWithName:@"HelveticaNeue-CondensedBlack"size:21.0], NSFontAttributeName, nil]];
运行效果如下图所示:
修改导航栏标题为图片
如果要想将导航栏标题修改为一个图片或者logo,那么只需要使用下面这行代码即可:
&codeclass="objc"&self.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"appcoda-logo.png"]];
上面的代码简单的修改了titleView属性,将一个图片赋值给它。注意:这不是iOS 7中的新功能,之前的iOS版本就可以已经有了。
具体效果如下图所示:
添加多个按钮
同样,这个技巧也不是iOS 7的,开发者经常会在导航栏中添加多个按钮,所以我决定在这里进行介绍。我们可以在导航栏左边或者右边添加多个按钮。例如,我们希望在导航栏右边添加一个照相机和分享按钮,那只需要使用下面的代码即可:
&codeclass="objc"&UIBarButtonItem *shareItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:nil];
UIBarButtonItem *cameraItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:nil];
NSArray *actionButtonItems = @[shareItem, cameraItem];
self.navigationItem.rightBarButtonItems = actionButtonI
如下效果:
修改状态栏的风格
在老版本的iOS中,状态栏永远都是白色风格。而在iOS 7中,我们可以修改每个view controller中状态栏的外观。通过UIStatusBarStyle常量可以指定状态栏的内容是暗色或亮色。默认情况下,状态栏的显示是暗色。也就是说,状态栏上的时间、电池指示器和Wi-Fi信号显示为暗色。如果导航栏中使用暗色为背景,那么看起来的效果如下图所示:
如上图这种情况下,我们可能希望将导航栏的风格修改为亮色。这里有两个方法可以实现。在iOS 7中,我们可以在每个view controller中overridingpreferredStatusBarStyle:方法,如下所示:
&codeclass="objc"&-(UIStatusBarStyle)preferredStatusBarStyle
&&&&returnUIStatusBarStyleLightC
上面代码的效果如下图所示:
在iOS 7中,通过上面的方法来修改状态栏风格非常的棒。另外,我们也可以使用UIApplication的statusBarStyle方法来设置状态栏,不过,首先需要停止使用View controller-based status bar appearance。在project target的Info tab中,插入一个新的key,名字为View controller-based status bar appearance,并将其值设置为NO。
然后就可以使用下面的代码来设置状态栏风格了:
&codeclass="objc"&[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
隐藏状态栏
有时候我们需要隐藏状态栏,那么此时我们在view controller中override方法prefersStatusBarHidden:即可,如下代码所示:
&codeclass="objc"&- (BOOL)prefersStatusBarHidden
&&&&returnYES;
1)">1)">1" ng-class="{current:{{currentPage==page}}}" ng-repeat="page in pages"><li class='page' ng-if="(endIndex<li class='page next' ng-if="(currentPage
相关文章阅读当前访客身份:游客 [
一觉睡到小时候。
:免费提供App网页自动下载安装所需服务器!微信里...
:好文章,顶起来!如需技术支持可以联系我 App无需...
今日访问:0
昨日访问:5
本周访问:21
本月访问:88
所有访问:3981
定制iOS 7中的导航栏和状态栏
发表于2年前( 16:55)&&
阅读(194)&|&评论()
0人收藏此文章,
由于种种原因,申请了一个开源中国的帐号,也许会由于我的不耐心,不会亲自去一步步的写博文,但准备把自己看到的好的,都转载过来,就当时资源的存储,也算是一种推广吧。
iOS 7 教程:定制iOS 7中的导航栏和状态栏
注:本文译自
近期,跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7。最新的iOS 7外观上有大量的改动。从开发者的角度来看,导航栏和状态栏就发生了明显的变化。状态栏现在是半透明的了,这也就意味着导航栏会显示在状态栏后面。有些情况下,导航栏的背景图片可以延伸显示到状态栏后面。
之前我曾经写过一篇关于的文章。不过现在是时候对其进行更新了。下面就是本文将要介绍的内容:
本文提供的代码需要用Xcode 5来执行。如果你还在使用老版本的Xcode,那么在运行示例之前请将Xcode升级到Xcode 5。
iOS 7中默认的导航栏
在开始定制之前,我们先来看看iOS 7中默认导航栏的外观。通过Xcode用Single View Controller模板创建一个工程。然后将view controller嵌入到一个navigation controller中。如果你不想从头开始,那么也可以在这里下载到这个。
Xcode 5包含有iOS 6和iOS 7模拟器,我们可以在这两个不同的模拟器版本中运行示例程序,进行对比,如下图所示:
如上图所示,在iOS 7中的导航栏默认情况下跟状态栏是交织在一起的,并且它的颜色也被修改为亮灰色。
设置导航栏的背景颜色
在iOS 7中,不再使用tintColor属性来设置导航栏的颜色,而是使用barTintColor属性来修改背景色。我们可以在AppDelegate.m文件中的方法didFinishLaunchingWithOptions:里面添加如下代码来修改颜色:
[[UINavigationBar appearance] setBarTintColor:[UIColor yellowColor]];
效果如下图所示:
一般情况,我们都会使用自己的颜色,下面这个宏用来设置RGB颜色非常方便:
#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) && 16))/255.0 green:((float)((rgbValue & 0xFF00) && 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
将上面这个宏放到AppDelegate.m文件中,然后通过这个宏来创建一个UIColor对象(根据指定的RGB)。如下示例:
[[UINavigationBar appearance] setBarTintColor:UIColorFromRGB(0x067AB5)];
默认情况下,导航栏的translucent属性为YES。另外,系统还会对所有的导航栏做模糊处理,这样可以让iOS 7中导航栏的颜色更加饱和。如下图,是translucent值为NO和YES的对比效果:
要想禁用translucent属性,可以在Storyboard中选中导航栏,然后在Attribute Inspectors中,取消translucent的勾选。
在导航栏中使用背景图片
如果希望在导航栏中使用一个图片当做背景,那么你需要提供一个稍微高一点的图片(这样可以延伸到导航栏背后)。导航栏的高度从44 points(88 pixels)变为了64 points(128 pixels)。
我们依然可以使用setBackgroundImage:方法为导航栏设置自定义图片。如下代码所示:
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@&nav_bg.png&] forBarMetrics:UIBarMetricsDefault];
示例工程中提供了两个背景图片:nav_bg.png 和 nav_bg_ios7.png。运行一下试试看吧,如下效果:
定制返回按钮的颜
在iOS 7中,所有的按钮都是无边框的。其中返回按钮会有一个V型箭头,以及上一个屏幕中的标题(如果上一屏幕的标题是空,那么就显示”返回”)。要想给返回按钮着色,可以使用tintColor属性。如下代码所示:
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
除了返回按钮,tintColor属性会影响到所有按钮标题和图片。
如果想要用自己的图片替换V型,可以设置图片的backIndicatorImage和backIndicatorTransitionMaskImage。如下代码所示:
[[UINavigationBar appearance] setBackIndicatorImage:[UIImage imageNamed:@&back_btn.png&]]; [[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@&back_btn.png&]];
图片的颜色是由tintColor属性控制的。
修改导航栏标题的字体
跟iOS 6一样,我们可以使用导航栏的titleTextAttributes属性来定制导航栏的文字风格。在text attributes字典中使用如下一些key,可以指定字体、文字颜色、文字阴影色以及文字阴影偏移量:
UITextAttributeFont – 字体key
UITextAttributeTextColor – 文字颜色key
UITextAttributeTextShadowColor – 文字阴影色key
UITextAttributeTextShadowOffset – 文字阴影偏移量key
如下代码所示,对导航栏的标题风格做了修改:
1 2 3 4 5 6 7
NSShadow *shadow = [[NSShadow alloc] init];
shadow.shadowColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.8];
shadow.shadowOffset = CGSizeMake(0, 1);
[[UINavigationBar appearance] setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys:
[UIColor colorWithRed:245.0/255.0 green:245.0/255.0 blue:245.0/255.0 alpha:1.0], NSForegroundColorAttributeName,
shadow, NSShadowAttributeName,
[UIFont fontWithName:@&HelveticaNeue-CondensedBlack& size:21.0], NSFontAttributeName, nil]];
运行效果如下图所示:
修改导航栏标题为图片
如果要想将导航栏标题修改为一个图片或者logo,那么只需要使用下面这行代码即可:
self.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@&appcoda-logo.png&]];
上面的代码简单的修改了titleView属性,将一个图片赋值给它。 注意:这不是iOS 7中的新功能,之前的iOS版本就可以已经有了。
具体效果如下图所示:
添加多个按钮
同样,这个技巧也不是iOS 7的,开发者经常会在导航栏中添加多个按钮,所以我决定在这里进行介绍。我们可以在导航栏左边或者右边添加多个按钮。例如,我们希望在导航栏右边添加一个照相机和分享按钮,那只需要使用下面的代码即可:
UIBarButtonItem *shareItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:nil]; UIBarButtonItem *cameraItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:nil];
NSArray *actionButtonItems = @[shareItem, cameraItem]; self.navigationItem.rightBarButtonItems = actionButtonItems;
如下效果:
修改状态栏的风格
在老版本的iOS中,状态栏永远都是白色风格。而在iOS 7中,我们可以修改每个view controller中状态栏的外观。通过UIStatusBarStyle常量可以指定状态栏的内容是暗色或亮色。默认情况下,状态栏的显示是暗色。也就是说,状态栏上的时间、电池指示器和Wi-Fi信号显示为暗色。如果导航栏中使用暗色为背景,那么看起来的效果如下图所示:
如上图这种情况下,我们可能希望将导航栏的风格修改为亮色。这里有两个方法可以实现。在iOS 7中,我们可以在每个view controller中overridingpreferredStatusBarStyle:方法,如下所示:
-(UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent; }
上面代码的效果如下图所示:
在iOS 7中,通过上面的方法来修改状态栏风格非常的棒。另外,我们也可以使用UIApplication的statusBarStyle方法来设置状态栏,不过,首先需要停止使用View controller-based status bar appearance。在project target的Info tab中,插入一个新的key,名字为View controller-based status bar appearance,并将其值设置为NO。
然后就可以使用下面的代码来设置状态栏风格了:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
隐藏状态栏
有时候我们需要隐藏状态栏,那么此时我们在view controller中override方法prefersStatusBarHidden:即可,如下代码所示:
- (BOOL)prefersStatusBarHidden {
return YES; }
iOS 7给开发者提供了一些新的自由度来定制导航栏和状态栏的外观。希望上面的这些技巧能对你有用。
这里可以下载到。只需要取消相关代码注释即可进行测试。
1)">1)">1" ng-class="{current:{{currentPage==page}}}" ng-repeat="page in pages"><li class='page' ng-if="(endIndex<li class='page next' ng-if="(currentPage
相关文章阅读

我要回帖

更多关于 沉浸状态栏是什么 的文章

 

随机推荐