前言html
近日在作项目时,项目组有提出iconfont的技术,便开始查询相关资料。iconfont技术的主要目的是为减小应用体积而生。首先icon表明图标 font表明字体。此技术即是将图标转化为字体,从而达到减少应用体积的目的(这样避免了@2X图和@3X图的使用,只须要一个字体图标就可搞定)。如需在项目中使用iconfont技术,图标矢量图一开始都应合并转化为字体库(这属于UI设计师的工做了)。在这里会简单说明怎么生成字体库和简单的使用!此技术缺点也很明显,只适用于纯色的icon!ios
字体库生成git
针对于字体库的生成方案如今推荐你们用的有两个图标字体库生成网站iconmoon和iconfon。本文以iconmoon为例,选择好图标后转化为字体下载github
基本使用segmentfault
在我的项目工程中加入iconmoon.ttf字体库,确保在copy bundle Resources中有添加入字体库,而后在info.plist文件中增长字段Fonts provided by application并在该字段下添加icomoon.ttf。此时只须要在工程使用该字体便可。app
在使用的时候须要配置字体名字,而后将对应图标的Unicode编码赋给text便可进行展现,对应图标的Unicode编码在字体下载中的html文件中查看ide
使用时只须要将对应的Unicode编码转化为text字符串便可,转化方式为'\U0000 + 对应编码'。示例以下:字体
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 100, 50)]; //须要配置为对应的字体 label.font = [UIFont fontWithName:@"icomoon" size:24]; //配置上两个对应图标 label.text = @"\U0000e900 \U0000e91f"; //配置图标颜色 [label setTextColor:[UIColor cyanColor]];
运行程序后即可获得以下效果图:网站
以上即是iconfont的具体运用方法,有想法的朋友能够直接去试一试了。关于此种技术的使用效率问题和其余生成方式都在参考连接中能够查找到。本文旨在提供最基本的使用方法给你们,如上述有不正确之处欢迎指出!编码
参考连接