「LYIconfont」快捷设置iconfont的工具类
2017-08-04 本文已影响594人
halohily
在刚刚接触
iOS开发
的时候,每次涉及到图标
、按钮
等绘制工作时,都觉得无比繁琐。因为我们需要将尺寸合适的图片格式的素材加入到项目中,设置一系列冗杂的UIImageView相关设置。当然,如果需要在不同分辨率下显示,我们还需为一个图标准备多个不同分辨率的素材。当你的设计改变,仅仅想要将一个小图标的颜色进行替换时,就不得不重新制作图片素材,并在项目中进行替换。你看到了,加粗的关键词都是我对这种开发模式的吐槽。
在之前的文章里,我就已经向大家强烈安利过
iconfont
,今天终于可以为它单独写一篇文章。
iconfont
简介
到如今,我们拥有了iconfont
技术,在前端、客户端等领域都被广泛使用。简单来说,就是它将图标素材转换为矢量的字体文件
的形式在界面中进行展示。
如你所见,它是矢量素材,我们不需要为了不同分辨率下分别进行设置,像你的UILabel
中的文字一样,它是一直高清的。
同时,它是一种字体
,所以当你想要更换颜色时,只需要像更换UILabel
颜色一样,对它的颜色进行代码设置。
当然,更重要的是,你不再需要图片格式的素材,客户端的体积和性能表现也会有相应提升。
在这里,向大家强烈推荐阿里巴巴的iconfont图标库。
LYIconfont
介绍
当然,在iconfont
的使用过程中,我也遇到了一些令人懊恼的问题。比如,要想使用一个iconfont
形式的图标,我需要编写一大堆繁琐的代码,如你所见:
UIButton *reLocate = [[UIButton alloc] initWithFrame:CGRectMake(DEAppWidth - 90, 15, 80, 15)];
[reLocate setTitle:@"\U0000e8a4 重新定位" forState:UIControlStateNormal];
[reLocate setTitleColor:DEColor(26, 152, 252) forState:UIControlStateNormal];
reLocate.titleLabel.font = [UIFont fontWithName:@"iconfont" size:15.0];
reLocate.contentHorizontalAlignment = NSTextAlignmentRight;
这是对一个UIButton
形式的iconfont
图标进行设置所需的代码量。
所以我对诸如此类的设置代码进行了封装,以方便阿里巴巴图标库iconfont
形式素材的使用。
这里是项目地址。如果它对你有帮助,希望点一个star~
使用方式
- 项目中引入
LYIconfont.h
和LYIconfont.m
文件 - 在需要设置
iconfont
图标的文件中引入LYIconfont.h
头文件
调用方式:
- 获取一个
UIButton
类型的图标:
UIButton *iconfontBtn = [LYIconfont LYIconfontButtonWithFrame:frame code:@"\U0000e6e9" color:someColor size:25.0];
- 获取一个
UILabel
类型的图标:
UILabel *iconfontLabel = [LYIconfont LYIconfontLabelWithFrame:frame code:@"\U0000e6e9" color:someColor size:25.0];
参数解析:
frame
你的按钮或标签形式的图标frame
- code
你的图标素材编码
- color
你的图标颜色
- size
你的图标尺寸