当前位置:K88软件开发文章中心编程语言LinuxLinux01 → 文章内容

iOS项目中iconfont使用指南

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-4 9:00:56

-->

什么是iconfont

简单的说iconfont,从字面上就能理解它就是字体,让开发者像使用字体一样使用图标。复杂的解释,还是自己度娘吧。
在iOS开发的时候,项目里的所有图标都是用最平常的背景图片方案来实现。而为了要兼容苹果设备的不同屏幕,苹果要求每个背景图至少都要以两种尺寸存(a@2x.png和a@3x.png有的还要求还有1x的),这让设计师们增加了成本,因为他们每次都得出两份背景图标。同时,当图片特别多的时候,很容易重命名引起麻烦,并且也很占空间,就像我们自己做的项目,很庞大,你懂得~。

使用iconfont可以解决以上问题!

如何获取iconfont?

如果你想做一个iconfont的测试Demo,又没有UI设计师帮忙,那么你可以从阿里的图库中去自行下载来完成这个Demo。网址http://www.iconfont.cn,就和淘宝一样,登录后在它的公共资源库里任意的选择图标加入购物车,然后结账(也就是添加到自己的项目中,免费的)。

Snip20160912_2.png

然后在图标管理中点击我的项目下载,把相应的.ttf文件下载下来。

Snip20160912_1.png

添加.ttf文件

创建一个Demo,然后后把iconfont.ttf拖入工程中

Snip20160912_4.png

然后别忘了在这里检查一下有没有?没有了手动添加进来。否则会崩!(有些文章还说再infoplist中配置,我试了一下不配置也可以)

Snip20160912_5.png

使用.ttf图标

参考了简书中文章在iOS开发中使用iconfont图标中iconfont的使用方法,做了一个封装,代码可以通过下载Demo来获取。把TBIconFont文件夹中的6个文件拖到你工程中,就像添加三方库一样,加进来就好了。

Snip20160912_6.png
  • 在APPDelegate中添加.ttf文件(初始化)
1
[TBCityIconFont setFontName:@"iconfont"];
  • 程序中加载图标
1
2
3
4
5
6
7
8
9
10
- (<span class="hljs-keyword">void</span>)viewDidLoad {
    [<span class="hljs-keyword">super</span> viewDidLoad];

    <span class="hljs-comment">//图标编码是,需要转成\U0000e600</span>

    <span class="hljs-keyword">self</span><span class="hljs-variable">.testImageView</span><span class="hljs-variable">.image</span> =  [<span class="hljs-built_in">UIImage</span> iconWithInfo:TBCityIconInfoMake(<span class="hljs-string">@"\U0000e600"</span>, <span class="hljs-number">30</span>, [<span class="hljs-built_in">UIColor</span> redColor])];

    [<span class="hljs-keyword">self</span><span class="hljs-variable">.testBtn</span> setImage:[<span class="hljs-built_in">UIImage</span> iconWithInfo:TBCityIconInfoMake(<span class="hljs-string">@"\U0000e605"</span>, <span class="hljs-number">30</span>, [<span class="hljs-built_in">UIColor</span> redColor])] forState:<span class="hljs-built_in">UIControlStateNormal</span>];

}

最终效果图

备注

Demo下载地址:https://github.com/iOSKesai/iconfontDemo.git

文/赛赛_lzx(简书作者)
原文链接:http://www.jianshu.com/p/c3405c6a58e4
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

iOS项目中iconfont使用指南