怎样移植不同机型的ios状态栏颜色?

自定义ios7标题栏和状态栏
跟大家一样,我一直忙碌的适配我的APP在ios7下的表现。iOS7的最新版本引入了大量的视觉变化。从开发人员的角度来看,导航栏和状态栏是2个最显而易见的变化。状态栏现在是透明/半透明的,也就是说view 可以透过状态栏,导航栏的背景图像可以向上延伸的状态栏的后面。
注:本文译自Customizing Navigation Bar and Status Bar in iOS 7
如果你自己阅读此片文章 你可以学会如上的几个技巧:
本工程是在xcode5下编写的。所以,如果你还在使用旧版本的Xcode,请确保您运行示例Xcode项目之前升级到Xcode中5。
默认的导航栏在iOS中7
在我们进去的定制,让我们先来看看由Xcode 5和iOS 7生成的默认导航栏。只需用单-视图-控制器模板的Xcode项目。嵌入视图控制器在导航控制器。如果您不想从头开始,你可以这个示例的Xcode项目。
Xcode5下面有iOS 6和iOS7两个模拟器。你可以尝试用这两个不同版本的模拟器运行示例项目。
正如你所看到的,在iOS的7导航栏默认是交织在一起的状态栏。默认的颜色也改为浅灰色,以及。
更改导航栏的背景颜色
在iOS7,tintColor属性不能再用于设置栏的颜色。相反,使用barTintColor属性来改变背景颜色。您可以将下面的代码在didFinishLaunchingWithOptions:AppDelegate.m文件下。
[ [ 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的开始,并使用它来创建与任何RGB色彩你想要的任何的UIColor对象。下面是一个例子:
[[UINavigationBar appearance] setBarTintColor:UIColorFromRGB(0x067AB5)];
默认情况下,导航栏的半透明属性设置为YES。此外,还有适用于所有导航栏系统模糊。在此设定下,iOS的7趋于饱和度的栏的颜色。下面是示例导航栏用不同的半透明设置。
要禁用半透明的属性,你可以简单地选择在xib的导航栏。在属性检查里面,取消半透明复选框,如下图。
在导航栏使用背景图片
如果您的应用程序使用了自定义图像作为栏的背景,你需要提供一个&更大&的图片,使其延伸了状态栏的后面。导航栏的高度是从44点(88像素)更改为64点(128像素)。
你仍然可以使用了setBackgroundImage:方法来指定自定义图像的导航栏。下面是代码行设置背景图片:
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@&nav_bg.png&] forBarMetrics:UIBarMetricsDefault];
例程捆绑了两种不同的背景图片:nav_bg.png和nav_bg_ios7.png。
vcC4sbO+sM28xqw=" class="aligncenter size-full wp-image-2553" src="/uploadfile/Collfiles//Navigation-Bar-Background-Image.jpg" />
改变导航栏标题的字体
就像iOS 6,您可以通过使用导航栏的&titleTextAttributes&属性来自定义的文本样式。您可以指定字体,文字颜色,文字阴影颜色,文字阴影在文本标题偏移属性字典,使用下面的文本属性键:
UITextAttributeFont - 字体
UITextAttributeTextColor - 文字颜色
UITextAttributeTextShadowColor - 文字阴影颜色
UITextAttributeTextShadowOffset - 偏移用于文本阴影
下面是示例代码片段改变的导航栏标题的字体样式:
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]];
如果您更改该示例应用程序,导航栏中的标题看起来应该像这样:
自定义后退按钮的颜色
在iOS7,所有的栏按钮都是没编辑的的。你可以改变tintColor属性,它提供了一个快速和简单的方式,。下面是一个示例代码片段:
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
除了后退按钮,请注意,tintColor属性影响所有按钮标题和按钮图像。
如果你想使用一个自定义图像来替换默认的字体,可以设置backIndicatorImage和backIndicatorTransitionMaskImage。
[[UINavigationBar appearance] setBackIndicatorImage:[UIImage imageNamed:@&back_btn.png&]];
[[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@&back_btn.png&]];
图像的颜色由tintColor属性控制。
使用图片作为导航栏标题
不想标题栏是光秃秃的文字?您可以通过使用代码行中的图像或标志取代它:
self.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@&appcoda-logo.png&]];
我们简单地改变titleview用来自定义图像来。这不是在iOS7的新功能。该代码也适用于较低版本的iOS。
添加多个栏按钮项目
同样,这个技巧是不是专门为iOS 7。,您希望添加导航栏的一侧不止一个栏按钮项目。无论是leftBarButtonItems和rightBarButtonItems 您在导航栏左侧/右侧指定自定义栏按钮项目。比如你想添加一个摄像头和一个共享按钮右侧的吧。您可以使用下面的代码:
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的发布,你可以改变每个视图控制器状态栏的外观。您可以使用UIStatusBarStyle常量来指定状态栏的内容是否应该或深或浅。默认情况下,状态栏会显示暗的内容。换句话说,如时间,电池指示灯和Wi-Fi信号的项目显示为暗色。如果您使用的是深色背景在导航栏上,你最终会像这样:
在这种情况下,你可能需要的状态栏的风格改变从暗到亮。有两种方法可以做到这一点。在iOS7,你可以控制从单个视图控制器通过覆盖preferredStatusBarStyle状态栏的样式:
-(UIStatusBarStyle)preferredStatusBarStyle
return UIStatusBarStyleLightC
对于示例应用程序,只要把上面的代码中RecipeNavigationController.m和状态栏和白得的内容。
上面介绍的方法是首选的方法来改变状态栏风格的iOS 7。或者,您也可以使用的UIApplication statusBarStyle方法设置状态栏的风格。但首先你需要选择退出&&View controller-based status bar appearance&。根据项目目标的信息选项卡中,插入一个名为&View controller-based status bar appearance&新字符串并将其值设置为NO。
通过禁用&View controller-based status bar appearance&,您可以通过使用下面的代码设置状态栏的样式:
[ [的UIApplication sharedApplication ] setStatusBarStyle : UIStatusBarStyleLightContent ] ;
隐藏状态栏
在任何情况下,你要隐藏状态栏,可以覆盖prefersStatusBarHidden:在你的控制器:
- (BOOL)prefersStatusBarHidden
return YES;
iOS的7为开发人员提供新的自由定制的导航栏和状态栏的外观。如果您是从的iOS 6移植应用程序到iOS 7或创建一个全新的应用程序为iOS 7,我希望你会发现这些有用的技巧。
为了您的完整的参考,你可以从这里下载本演示项目的源代码。只是取消注释在示例项目中的任何代码片段来测试的变化。
像你们许多人,我还在探索的iOS 7 SDK的所有新的变化。我绝不是在iOS 7的专家。如果您发现文中的任何错误,请让我知道。如果您发现与导航栏和状态栏的任何提示和技巧,也请与我们留下评论如下分享。
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。后使用快捷导航没有帐号?
只需一步,快速登录
查看: 323|回复: 1
注册时间最后登录在线时间131 小时UID阅读权限80积分2054主题帖子精华0好友金币818 成就70
骨灰级Phone友, 积分 2054, 距离下一级还需 1946 积分
TA的每日心情奋斗 09:45:00签到天数: 10 天[LV.3]偶尔看看II积分2054帖子金币818 成就70
如刷机后出现问题,请跟帖留言或网盘评论,我会及时回复的,也希望大家能多多给出好的建议,谢谢~
ROM作者:F.I.R.E - 独行无疆
Android版本:4.4.2
制作日期:
ROM大小:405MB
适用机型:荣耀3X畅玩版
ROM下载地址:游客,如果您要查看本帖隐藏内容请
华为荣耀3X畅玩版中文Recovery下载地址:游客,如果您要查看本帖隐藏内容请
基于红米Note移动版MIUI6开发版5.1.13内测版本移植制作,真正的Android4.4.2 MIUI6。
独家修复systemui FC问题,修复该问题后,状态栏信号图标正常,系统明显流畅很多。
独家修复MIUI6官方相机不能使用的问题,相机默认模式是4:3模式,你可以调节成16:9模式达到全屏效果。
本人专门花了1天时间才修复上面的2个重大BUG,如有使用本包中的文件,还请注明参考作者。
你可以自行使用本包做底包给其他机型进行移植,注明出处即可,但严禁无意义的二次打包。
本包已经解决移植后不能开机的关键问题,所以使用本底包进行移植MIUI6已经没多大阻碍了。
本ROM包保持了最原始的MIUI6系统特性,最原始的MIUI6体验。
本ROM进行了音量增强,音量大小明显得到了提升。
已经亲自测试,双向通话没问题,双卡通话均没问题。
系统本身已经内核ROOT,没有加入额外的ROOT授权管理软件,建议大家自行加入。
已经对系统APK进行了全部的zipalign优化。
本ROM官方底包存在的BUG,本ROM仍然存在,目前本人正在修复中,后续持续更新。
下面的截图均为本ROM的真实截图。
其它MIUI6官方系统特性等等。
14:47:52 上传
14:48:08 上传
注册时间最后登录在线时间12 小时UID8695829阅读权限30积分123主题帖子精华0好友金币45 成就20
特高级Phone友, 积分 123, 距离下一级还需 377 积分
TA的每日心情开心 11:19:36签到天数: 12 天[LV.3]偶尔看看II积分123帖子金币45 成就20
最新报价:998元后使用快捷导航没有帐号?
一步搞定
只需一步,快速开始
查看: 6692|回复: 167
积分10462在线时间2290 小时分享阅读权限90主题UID7331947帖子精华0 战斗力0 点 技术82 点 金币14462 元 人气968 点 贡献12042 点注册时间最后登录
金币14462 元
下面开始教程
我们移植状态栏只需要两个步奏,一是替换,二是替换。就这么简单
游客,如果您要查看本帖隐藏内容请或点击感谢按钮
积分150在线时间77 小时分享阅读权限20主题UID帖子精华0 战斗力0 点 技术0 点 金币321 元 人气0 点 贡献68 点注册时间最后登录
, 积分 150, 距离下一级还需 50 积分
金币321 元
真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!真的很不错啊!我非常喜欢!
积分2在线时间0 小时分享阅读权限10主题UID帖子精华0 战斗力0 点 技术0 点 金币15 元 人气0 点 贡献4 点注册时间最后登录
, 积分 2, 距离下一级还需 3 积分
嘿嘿嘿嘿嘿嘿
积分2在线时间0 小时分享阅读权限10主题UID帖子精华0 战斗力0 点 技术0 点 金币15 元 人气0 点 贡献4 点注册时间最后登录
, 积分 2, 距离下一级还需 3 积分
嘿嘿嘿嘿嘿嘿
积分517在线时间211 小时分享阅读权限20主题UID6019571帖子精华0 战斗力0 点 技术0 点 金币1072 元 人气0 点 贡献502 点 手机a366t注册时间最后登录
, 积分 517, 距离下一级还需 183 积分
金币1072 元 手机a366t
栏的办法,教程简单,方便小白
积分517在线时间211 小时分享阅读权限20主题UID6019571帖子精华0 战斗力0 点 技术0 点 金币1072 元 人气0 点 贡献502 点 手机a366t注册时间最后登录
, 积分 517, 距离下一级还需 183 积分
金币1072 元 手机a366t
原来是这样。。。。
积分135在线时间73 小时分享阅读权限20主题UID4785809帖子精华0 战斗力0 点 技术0 点 金币265 元 人气0 点 贡献101 点注册时间最后登录
, 积分 135, 距离下一级还需 65 积分
金币265 元
学一下,支持楼主
积分748在线时间472 小时分享阅读权限30主题UID3972542帖子精华0 战斗力0 点 技术0 点 金币617 元 人气0 点 贡献458 点 手机u8860注册时间最后登录
, 积分 748, 距离下一级还需 452 积分
金币617 元 手机u8860
貌似行不通。
积分748在线时间472 小时分享阅读权限30主题UID3972542帖子精华0 战斗力0 点 技术0 点 金币617 元 人气0 点 贡献458 点 手机u8860注册时间最后登录
, 积分 748, 距离下一级还需 452 积分
金币617 元 手机u8860
貌似行不通。
积分29在线时间10 小时分享阅读权限10主题UID9876447帖子精华0 战斗力0 点 技术0 点 金币68 元 人气0 点 贡献30 点注册时间最后登录
, 积分 29, 距离下一级还需 21 积分
Powered by你的位置:
→ 魅族手机状态栏移植和美化教程
魅族手机状态栏移植和美化教程
作者:admin
安卓手机状态栏让用户操作手机更加的方便,但是很多用户不喜欢,那么如何来移植魅族的状态栏和美化魅族手机呢?准备事项:1、手机需要用户已经过;2、安装软件notepad++和RE管理器;
类别: 系统.文件.安全 &&&
大小:2.3M
语言: 中文
更新: 14-08-21
操作教程:1、反编译framework-res.apk,用notepad++或其他工具打开framework-res\res\values\dimens这个xml文件;2、把那个24改为48,这是魅族状态栏之所以两行的原因,高度调整为两倍;3、然后回编译,得到的新的framework-res.apk,用WinRAR打开,把resources.arsc替换到原来的framework-res.apk。这是资源文件,凡是改动过values文件夹里的文件都必须替换resources;4、接着就是反编译MiuiSystemUI.apk;5、用notepad++或其他工具打开MiuiSystemUI\res\layout\status_bar这个xml文件;6、打开魅族状态栏同一个文件,你可使用对照工具修改,也可以直接替换,这是状态栏的布局文件,基本上要位置变化的都在这里改;7、回编译MiuiSystemUI.apk,然后替换status_bar就成功了;8、最后一步,用re管理器分别替换到system的framework和app文件夹,改权限rw-r-r就完成教程了。如果用户想要魅族手机状态栏移植和手机美化那么就来通过上述教程进行修改吧!
你可能还喜欢

我要回帖

更多关于 状态栏 的文章

 

随机推荐