因为公司程序需要客户经常做更新,所以对于程序的大小就很敏感,有时候一个非常大的程序包代码量倒不是很大,大的是图标图片,现在iphone的屏幕尺寸问题,一个图标都是3张起步。而听做前端的同学说网页上的一些图标可以用文字来实现,感觉很有趣也很有用,就做了一下研究。
这个用文字来生成图标的一般有两个库,一个是国外的fontawesome, 还有一个就是阿里的iconfont, 两个库用起来大同小异,阿里的iconfont还支持设计者自己设计图标上传,设计规范见这里.
因为只是一个使用教程,所以以fontawesome为例
首先下载字体文件FontAwesome.ttf,将ttf文件拖入项目中去,之后在info文件中做如下设置
这样字体文件就添加进程序里去了
之后我们就要写一个NSString的类拓展来使用了,拓展类的主要功能是为了通过特殊Unicode编码来生成图标,具体类实现可以下载已经写好的参考
NSString+FontAwesome.h
NSString+FontAwesome.m
之后只要在原来放imageview的地方用同样大小的label替代,用如下方法生成
[NSString fontAwesomeIconStringForIconIdentifier:imagestr];
这里fontAwesomeIconStringForIconIdentifier是拓展里的类方法,用来生成图标,imagestr就是图标对应的编码,这样就会返回一个图标文字了,图标大小,颜色都和font的设置是一样的,而且因为是自适应的,再也没有一张图切三张的问题了,这样一来简单的图标都可以替代,大大减小了程序的大小
网友评论