在iOS中,手机标题栏图标怎么弄两侧,用文字和图标的不同是什么

在iOS7下,默认导航栏背景,颜色是这样的,接下来我们就进行自定义,如果你仅仅是更改一下背景和颜色,代码会很简单,不需要很复杂的自定义View来替代leftBarItem
更改导航栏的背景和文字Color
[objc] view plaincopy
//set NavigationBar 背景颜色&title 颜色
[self.navigationController.navigationBar setBarTintColor:[UIColor colorWithRed:20/255.0 green:155/255.0 blue:213/255.0 alpha:1.0]];
[self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor],UITextAttributeTextColor,nil]];
效果如下:
我们把背景改成了蓝色,title文字改成了白色,是不是很简单呢?NavigationBar极其push过去的子页面也会是你修改后的背景颜色
[objc] view plaincopy
//设置NavigationBar背景颜色
[[UINavigationBar appearance] setBarTintColor:[UIColor redColor]];
//@{}代表Dictionary
[[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];
在导航栏使用背景图片:
如果您的应用程序使用了自定义图像作为栏的背景,你需要提供一个“更大”的图片,使其延伸了状态栏的后面。导航栏的高度现在是从44点(88像素)更改为64点(128像素)。
仍然可以使用了setBackgroundImage:方法来指定自定义图像的导航栏。下面是代码行设置背景图片:
[objc] view plaincopy
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"nav_bg.png"] forBarMetrics:UIBarMetricsDefault];
效果图和上面的一样,我就不贴出来了。
改变导航栏标题的字体
就像iOS 6,我们可以通过使用导航栏的“titleTextAttributes”属性来自定义的文本样式。可以指定字体,文字颜色,文字阴影颜色,文字阴影在文本标题偏移属性字典,使用下面的文本属性键:
UITextAttributeFont - 字体
UITextAttributeTextColor - 文字颜色
UITextAttributeTextShadowColor - 文字阴影颜色
UITextAttributeTextShadowOffset - 偏移用于文本阴影
[objc] view plaincopy
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 nil]];
使用图片作为导航栏标题
不想标题栏是光秃秃的文字?可以通过使用代码行中的图像或标志取代它:简单地改变titleview用来自定义,(适用于较低版本)
[objc] view plaincopy
self.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"appcoda-logo.png"]];
添加多个栏按钮项目
您希望添加导航栏的一侧不止一个栏按钮项目,无论是leftBarButtonItems和rightBarButtonItems 您在导航栏左侧/右侧指定自定义栏按钮项目。比如你想添加一个摄像头和一个共享按钮右侧的吧。您可以使用下面的代码:
[objc] view plaincopy
UIBarButtonItem *shareItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action: nil nil];
UIBarButtonItem *cameraItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action: nil nil];
NSArray *itemsArr = @[shareItem,cameraItem];
self.navigationItem.rightBarButtonItems = itemsA
自定义后退按钮的文字和颜色
通常情况下,我们使用UINavigationController时,push到的子页面,左上角会是系统自动取值上一层父页面的title名称,默认情况是这样,那么我们该如何修改它呢?
左侧显示了父页面的title:用户登录,可是我们想修改成返回,方式有很多,举些例子
通过设置navigationItem的backBarButtonItem可以直接更换文字,【注意,要在父视图的Controller中设置】如下:
[objc] view plaincopy
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem =
效果如下:
所有的子界面返回时都变成了我们定义的文字,如果不想显示文字,直接"",就会单独显示一个系统的返回箭头图标,也是很清晰的感觉。
做到这里发现文字颜色和背景有重复,那么如何自定义其颜色呢?在iOS7,可以改变tintColor属性,它提供了一个快速和简单的方式,下面是一个示例代码片段:
[objc] view plaincopy
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
效果如下:
全是系统的图标和文字,这回看着舒服了,有木有?【除了后退按钮,请注意,tintColor属性影响所有按钮标题和按钮图像】
最后举个例子,另外一种实现自定义导航控制器返回按钮,代码如下:
[objc] view plaincopy
[self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor redColor],NSFontAttributeName:[UIFont systemFontOfSize:19.0]}];
self.title=[NSString stringWithFormat:@"第%lu页",(unsigned long)self.navigationController.viewControllers.count];
//自定义返回按钮
UIImage *backButtonImage = [[UIImage imageNamed:@"fanhui.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 30, 0, 0)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
//将返回按钮的文字position设置不在屏幕上显示
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(NSIntegerMin, NSIntegerMin) forBarMetrics:UIBarMetricsDefault];
最后说一下使用pushViewController切换到下一个视图时,navigation controller按照以下3条顺序更改导航栏的左侧按钮(本段摘自网络):
1、如果B视图有一个自定义的左侧按钮(leftBarButtonItem),则会显示这个自定义按钮;
2、如果B没有自定义按钮,但是A视图的backBarButtonItem属性有自定义项,则显示这个自定义项;
3、如果前2条都没有,则默认显示一个后退按钮,后退按钮的标题是A视图的标题
ios -导航栏加图片或文字按钮
//为导航栏添加右侧按钮(系统自带删除)
// self.navigationItem.rightBarButtonItem=[[UIBarButtonItem alloc]initWithB...
iOS UINavigationController修改导航栏标题、按钮文字以及背景的颜色
//设置显示的颜色
UINavigationBar *bar = [UINavigationBar
appearance];
//设置显示的颜色
bar.barTintColor...
导航栏添加自定义按钮(图片在左文字在右)
UIButton *addButton = [UIButton buttonWithType:UIButtonTypeCustom];
addButton.frame = CGRectMake...
iOS自定义导航栏-导航栏联动(一)
iOS导航栏联动效果- GKNavigationController
iOS 自定义导航栏背景,左侧按钮,右侧按钮,及标题
一:导航栏的背景颜色如何设置
控制器是UINavigationController[self.navigationBar setBackgroundImage:[UIImage imageNamed...
for (UIView *view in self.navigationController.navigationBar.subviews) {
一个UINavigationController 下都会有一个rootViewController----我们这里暂且称为AviewController,
现在AviewController—pus...
- (instancetype)initWithRootViewController:(UIViewController *)rootViewController
self = [su...
在开发中,有时候会需要给运行中的CollectionView头部做一些控件和高度的修改。我们都知道collectionView头部的样式是由collectionView它的flowLayou决定的,也...
//设置导航栏的背景颜色和标题字体以及颜色
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions...
没有更多推荐了,注册 | 登录
产品经理一枚,伪文艺青年。
从零开始学运营,10年经验运营总监亲授,2天线下集训+1年在线学习,做个有竞争力的运营人。
不管怎样,我们要相信土豪还是多的,iPhone6和plus出来后,道长就苦苦追寻iOS8在i6和plus下面的设计尺寸,百度是找不到的,问过好几个开发群,也没有收获,幸好认识一位加州的伙伴,他给了我两个连接,简单粗暴,让我突然觉得幸福就这么简单,哈哈哈。为了不让伙伴们到处寻找,我花点时间整理下分享给大家,做成图片比较容易保存。本文主要讲述iPhone6和iPhone6 Plus的app在ios8系统上的设计尺寸,包括文字大小、状态栏高度、导航栏高度、工具条高度以及app图标大小。
本文由投稿,转载请注明出处。
赞赏是对原创者的最大认可
收藏已收藏 | 48赞已赞 | 71
产品经理一枚,伪文艺青年。
产品经理群
运营交流群
品牌营销群
文案交流群
Axure交流群
关注微信公众号
大家都在问
6个回答2人关注
8个回答5人关注
5个回答4人关注
20个回答21人关注
12个回答16人关注
10个回答11人关注在iOS中使用图标字体
在iOS中使用图标字体
原文链接: 在开发阿里数据iOS版客户端的时候,由于项目进度很紧,项目里的所有图标都是用最平常的背景图片方案来实现。而为了要兼容普通屏与Retina屏的设备,苹果要求(a.png和a@2x.png),这让设计师们增加了成本,因为他们每次都得出两份背景图标。现在在web开发上,的应用很广泛,它不仅在解决多分辨率显示问题上很有成效,而且在使用它的时候还能降低不少设计和开发成本。那么它能不能应用到ios开发上来呢?带着这个疑问,我在github上找到了和,但是这两个OC包对icon资源封装都有限,而且扩展也不是很方便。既然能在ios上使用icon font,那么怎么用呢?经过一番摸索,发现使用原理和自定义字体差不多,只有个别操作不太一样,接下来我给大家详细介绍一下。如何使用自定义字体在讲icon font之前,首先先来看看普通自定义字体是如何在ios中使用的,两个原理是一样的。这里以为例:Step 1: 导入字体文件将字体文件拖入项目(ios支持的字体格式有:.ttf、.otf,其他格式不确定):
然后再在项目的资源池中确认字体文件是否加入项目,打开xcode项目的Build Phases中查看:
Step 2: 配置.plist文件在.plist文件中注册新加入的字体,.plist文件往往以“[appname]-Info.plist”的形式存在于“Supporting Files”文件夹内。 在.plist文件中添加新属性“Fonts provided byapplication”,该属性的值是一个数组,这意味着可以在这里注册多个字体。
Step 3: 找到字体集名称注册完,我们需要检测是否注册成功且取得新字体名称,检测方法就是把所有安装了的字体都打印出来,看看新注册的字体是否在里面:for(NSString* familyin[UIFont familyNames]){NSLog(@"%@", family);for(NSString* namein[UIFont fontNamesForFamilyName: family]){NSLog(@"
%@", name);}}运行完,查看控制台里打印出的所有字体集中是否有新注册的字体,如果有,说明注册成功,并将字体名(在这里是“Kaushan Script”)记住留到后面用。
Step 4: 使用新字体最后,就是使用你最新加入的字体啦:UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 60, 300, 50)];label.font = [UIFont fontWithName:@"Kaushan Script"size:35];label.text = @"icon font";label.textColor = UIColorFromRGB(0xFF7300);[self.view addSubview:label];效果:
开始使用icon font图标字体也是字体,使用方式和上面所说的差不多,只是在套用上有些差别;这里拿 为例。1.选择需要的图标在fontello的图标字体库选择自己需要的图标,并下载生成的字体文件。2.按照上面的步骤将图标字体注册到项目中3.找到图标对应的unicode码使用工具打开字体文件(比如fontello.ttf),就可以看到图标与unicode码之间的对应关系啦。
4.使用图标UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 60, 300, 50)];label.font = [UIFont fontWithName:@"fontello"size:35];label.text = @"\U \U \U \U \U \U0000E81A";label.textColor = UIColorFromRGB(0xFF7300);[self.view addSubview:label];5.使用emoji表情库这里还可以使用苹果emoji表情库的图标,这里不需要新加字体库,只要找到emoji图标和unicode之间的对应关系就好,但是这些图标都不是矢量图,缩放请自重。UILabel *label5 = [[UILabel alloc] initWithFrame:CGRectMake(10, 480, 300, 50)];label5.text = @"\U0000e42a\U00e41c";[self.view addSubview:label5];6.效果
7.使用自制图标字体如果上面介绍的图标库还满足不了你的需求,或者需要的图标分布在多个图标库而不能集中到一个字体文件中;那么你可能需要文件了。总结这样,在iOS开发上,不仅可以直接去开源图标库找现成的图标用到项目中,而且还可以轻松地改变图标的颜色、大小,相信可以解放不少设计师和工程师的工作量。上代码图标字体库(这里有个问题要注意,etao的图标字体名为“Untitled1”,是不是生成字体的同学疏忽啦?)参考资料
用到的组件1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SDWebImage多个缩略图缓存组件 UICKeyChainStore存放用户账号密码组件 Reachability监测网络状态 DateTools友好...
发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注
09:45字数 61697阅读 3316评论 2喜欢 85 用到的组件 1、通过CocoaPods安装 项目名称 项目信息 AFNetworking 网络请求组件 FM...
用到的组件1、通过CocoaPods安装项目名称项目信息AFNetworking网络请求组件FMDB本地数据库组件SDWebImage多个缩略图缓存组件UICKeyChainStore存放用户账号密码组件Reachability监测网络状态DateTools友好化时间MBP...
下边都学会就大神了: 声明:都是网上搜集的,能标明出处的都标了.别只搜集而不看,与君共勉.. 先看完整项目完整App@HackerNews-React-Native用 React Native 完成的 HackerNews 客户端。WeChat实现类似微信朋友圈或者QQ空间...
Swift版本点击这里欢迎加入QQ群交流:
最新更新日期:17-11-01 About A curated list of iOS objective-C ecosystem. How to Use Simply presscommand+F+&xxx...
相对应桌面/服务器RISC的多媒体指令扩展,嵌入式RISC上则是数字信号处理(DSP)扩展。 所有DSP架构都有一个特征,那就是支持整数乘法累加。其中,乘法倾向于发生在比常规整数更短的数上面,比如16位的数相乘。而累加则倾向于发生在更长的数字上面,比如64位数累加。至于为什...
读书读到梁实秋的散文《饺子》,一时勾起了我对饺子一食的无限情思。 我小时候不爱吃饺子,原因有二:一是咬开饺子皮,汤水总是噗的一声出来烫到嘴巴;二是每次家里煮了饺子,我的碗里都被盛的满满的,小孩子不喜欢吃饭,却又被要求硬噎下这十来个鼓鼓囊囊的饺子,的确是痛苦的事。而我妈又喜欢...
Effect of Memantine on Cognitive Performance in Patients UnderElectroconvulsive TherapyA Double-Blind Randomized Clinical Trial 电抽搐治疗(Ele...
我曾经杀过人。说这句话时,老王刚喝下一杯劲酒,夸张的咂吧着嘴。 我们坐在一个清真烧烤店的小隔间里,四周人声鼎沸,空气中弥漫着孜然在火中烘烤过的香味。 这是我和老王认识的第二十五天,因为加班错过了饭点,于是决定出去吃烧烤。那时是十月底,哈市的天气已然很冷。 虽然带有清真标志的...在iOS的开发中,各种图标的使用是不可避免的,如果把全部图标做成图片放在项目中,那么随着项目的逐渐庞大起来,图片所占的地方就会越来越大,安装包也就随之变大了,如果图标需要根据不同的场景改变使用不同的颜色,那么,如果做成图片就需要多张不同颜色的图片,对于能更换皮肤的APP来说,安装包也就会更大,为了让APP的安装包瘦身,iconfont就产生了。关于iconfont的介绍与制作方式就暂时不进行介绍了。
第一步:获取iconfont文件。
公司会有UI做图,让他们提供文件就好了,如果自己学习测试或者做自己的项目,就需要自己找素材了。我平时用的是阿里巴巴的图标库()。
打开网址,搜索你需要的图标
移动鼠标到图标上,点击购物车的小图标,然后点击右上角的购物车小图标,
点击下载代码,就可以把下载一个包含iconfont的压缩包,文件夹的目录如下图
第二步:导入ttf文件
将文件夹中的iconfont.ttf文件直接拖入到项目中,记得勾选Add to targets中的选项
第三步:修改info.plist
点击添加按钮,输入UIAppFonts,点击回车,会自动变成名称为Fonts provided by application的数组,点击添加一个item,类型为String,输入iconfont.ttf,这个是你刚导入的文件的名字,点击回车,配置完毕;
第四步:查看iconfont中的图标的编码
我们使用的是unicode,所以,在刚才下载的文件夹中找到demo_unicode.html文件,双击打开,可以看到如下内容
其中的图标名称下面的一个字符串就是我们需要的编码,只是我们需要将其进行转换,如果是Objective-C,我们需要将其转为\U,如果是swift,我们需要将其转为\u{e642},每个图标的编码不一样,但是对应关系是一样的,每个iconfont文件中可能不止一个图标,使用的时候就根据图标编码转成对应的即可使用;
第五步:在项目中使用iconfont
我用的是swift,Objective-C的使用方式类似,你们可以自己尝试,只是编码的转换结果不一样
let iconLabel = UILabel.init(frame: .init(x: 0, y: 0, width: 100, height: 30))
iconLabel.text = "\u{e642}"
iconLabel.font = UIFont.init(name: "iconfont", size: 15)
其中的设置font中的name是你导入文件的名称,如果你想给图标一个颜色,直接设置label的文本颜色即可,如果设置大小,直接设置font就行
总结:文字图标的使用很方便,也能让安装包减少不小的体积,项目中图标太多或者随时需要转换图标颜色的话,建议使用,如果只有几个而且不需要随时转换颜色,那就没有那个必要了,切几个小图标就行了。
如果有什么地方是有错误的,欢迎指正,交流是提升技术的一种方式。
阅读(...) 评论()在iOS中使用icon font
在开发阿里数据iOS版客户端的时候,由于项目进度很紧,项目里的所有图标都是用最平常的背景图片方案来实现。而为了要兼容普通屏与Retina屏的设备,苹果要求每个背景图都要以两种尺寸存
在开发阿里数据iOS版客户端的时候,由于项目进度很紧,项目里的所有图标都是用最平常的背景图片方案来实现。而为了要兼容普通屏与Retina屏的设备,苹果要求(a.png和a@2x.png),这让设计师们增加了成本,因为他们每次都得出两份背景图标。
现在在web开发上,的应用很广泛,它不仅在解决多分辨率显示问题上很有成效,而且在使用它的时候还能降低不少设计和开发成本。
那么它能不能应用到ios开发上来呢?带着这个疑问,我在github上找到了和,但是这两个OC包对icon资源封装都有限,而且扩展也不是很方便。
既然能在ios上使用icon font,那么怎么用呢?经过一番摸索,发现使用原理和自定义字体差不多,只有个别操作不太一样,接下来我给大家详细介绍一下。
如何使用自定义字体
在讲icon font之前,首先先来看看普通自定义字体是如何在ios中使用的,两个原理是一样的。这里以为例:
Step 1: 导入字体文件
将字体文件拖入项目(ios支持的字体格式有:.ttf、.otf,其他格式不确定):
然后再在项目的资源池中确认字体文件是否加入项目,打开xcode项目的Build Phases中查看:
Step 2: 配置.plist文件
在.plist文件中注册新加入的字体,.plist文件往往以&[appname]-Info.plist&的形式存在于&Supporting Files&文件夹内。 在.plist文件中添加新属性&Fonts provided by application&,该属性的值是一个数组,这意味着可以在这里注册多个字体。
Step 3: 找到字体集名称
注册完,我们需要检测是否注册成功且取得新字体名称,检测方法就是把所有安装了的字体都打印出来,看看新注册的字体是否在里面:
for&(NSString*&family&in&[UIFont&familyNames])&{&&&&&NSLog(@&%@&,&family);&&&&&for&(NSString*&name&in&[UIFont&fontNamesForFamilyName:&family])&&&&&{&&&&&&&&&NSLog(@&&&%@&,&name);&&&&&}&}&
运行完,查看控制台里打印出的所有字体集中是否有新注册的字体,如果有,说明注册成功,并将字体名(在这里是&Kaushan Script&)记住留到后面用。
Step 4: 使用新字体
最后,就是使用你最新加入的字体啦:
UILabel&*label&=&[[UILabel&alloc]&initWithFrame:CGRectMake(10,&60,&300,&50)];&label.font&=&[UIFont&fontWithName:@&Kaushan&Script&&size:35];&label.text&=&@&icon&font&;&label.textColor&=&UIColorFromRGB(0xFF7300);&[self.view&addSubview:label];&
开始使用icon font
图标字体也是字体,使用方式和上面所说的差不多,只是在套用上有些差别;这里拿为例。
1.选择需要的图标
在fontello的图标字体库选择自己需要的图标,并下载生成的字体文件。
2.按照上面的步骤将图标字体注册到项目中
3.找到图标对应的unicode码
使用工具打开字体文件(比如fontello.ttf),就可以看到图标与unicode码之间的对应关系啦。
4.使用图标
UILabel&*label&=&[[UILabel&alloc]&initWithFrame:CGRectMake(10,&60,&300,&50)];&label.font&=&[UIFont&fontWithName:@&fontello&&size:35];&label.text&=&@&\U&\U&\U&\U&\U&\U0000E81A&;&label.textColor&=&UIColorFromRGB(0xFF7300);&[self.view&addSubview:label];&
5.使用emoji表情库
这里还可以使用苹果emoji表情库的图标,这里不需要新加字体库,只要找到emoji图标和unicode之间的对应关系就好,但是这些图标都不是矢量图,缩放请自重。
UILabel&*label5&=&[[UILabel&alloc]&initWithFrame:CGRectMake(10,&480,&300,&50)];&label5.text&=&@&\U0000e42a\U00e41c&;&[self.view&addSubview:label5];&
7.使用自制图标字体
如果上面介绍的图标库还满足不了你的需求,或者需要的图标分布在多个图标库而不能集中到一个字体文件中;那么你可能需要文件了。
这样,在iOS开发上,不仅可以直接去开源图标库找现成的图标用到项目中,而且还可以轻松地改变图标的颜色、大小,相信可以解放不少设计师和工程师的工作量。
图标字体库
(这里有个问题要注意,etao的图标字体名为&Untitled1&,是不是生成字体的同学疏忽啦?)
CocoaChina是全球最大的苹果开发中文社区,官方微信每日定时推送各种精彩的研发教程资源和工具,介绍app推广营销经验,最新企业招聘和外包信息,以及Cocos2d引擎、Cocos Studio开发工具包的最新动态及培训信息。关注微信可以第一时间了解最新产品和服务动态,微信在手,天下我有!
请搜索微信号“CocoaChina”关注我们!
关注微信 每日推荐
扫一扫 浏览移动版

我要回帖

更多关于 手机标题栏图标怎么弄 的文章

 

随机推荐