iOS开发中使用文字图标iconfont

在iOS的开发中,各类图标的使用是不可避免的,若是把所有图标作成图片放在项目中,那么随着项目的逐渐庞大起来,图片所占的地方就会愈来愈大,安装包也就随之变大了,若是图标须要根据不一样的场景改变使用不一样的颜色,那么,若是作成图片就须要多张不一样颜色的图片,对于能更换皮肤的APP来讲,安装包也就会更大,为了让APP的安装包瘦身,iconfont就产生了。关于iconfont的介绍与制做方式就暂时不进行介绍了。html

第一步:获取iconfont文件。swift

公司会有UI作图,让他们提供文件就行了,若是本身学习测试或者作本身的项目,就须要本身找素材了。我平时用的是阿里巴巴的图标库(http://www.iconfont.cn)。
打开网址,搜索你须要的图标

移动鼠标到图标上,点击购物车的小图标,而后点击右上角的购物车小图标,

点击下载代码,就能够把下载一个包含iconfont的压缩包,文件夹的目录以下图
数组

第二步:导入ttf文件app

将文件夹中的iconfont.ttf文件直接拖入到项目中,记得勾选Add to targets中的选项ide

第三步:修改info.plist学习

点击添加按钮,输入UIAppFonts,点击回车,会自动变成名称为Fonts provided by application的数组,点击添加一个item,类型为String,输入iconfont.ttf,这个是你刚导入的文件的名字,点击回车,配置完毕;测试

第四步:查看iconfont中的图标的编码编码

咱们使用的是unicode,因此,在刚才下载的文件夹中找到demo_unicode.html文件,双击打开,能够看到以下内容

其中的图标名称下面的一个字符串就是咱们须要的编码,只是咱们须要将其进行转换,若是是Objective-C,咱们须要将其转为\U0000e642,若是是swift,咱们须要将其转为\u{e642},每一个图标的编码不同,可是对应关系是同样的,每一个iconfont文件中可能不止一个图标,使用的时候就根据图标编码转成对应的便可使用;3d

第五步:在项目中使用iconfontcode

我用的是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就行

总结:文字图标的使用很方便,也能让安装包减小不小的体积,项目中图标太多或者随时须要转换图标颜色的话,建议使用,若是只有几个并且不须要随时转换颜色,那就没有那个必要了,切几个小图标就好了。

若是有什么地方是有错误的,欢迎指正,交流是提高技术的一种方式。

相关文章
相关标签/搜索