做iOS开发的都知道,因为屏幕分辨率的问题,在iOS app 中都得放两套切图来支持retina屏和非retina屏幕,但是文字就不需要考虑分辨率的问题,所以可不可以将一些图片用文字来代替呢,省时省力省资源。看下面一些截图:
这些截图上面的图标都是用文字来表示的,没有用png图片,看起来还不错吧
下面介绍一下制作以及使用图标字体的方法
字体图标的制作
这部分分两个步骤:1、字形图标的制作 2、字体库的制作
一、字形图标的制作
安装一个工具Illustrator,这个工具有破解版,自行搜寻下载
使用其中的钢笔工具绘制字形图标,比如绘制一个新浪微博logo和垃圾桶,如图:
新浪微博logo
垃圾桶
好了,绘制完字形图标,接下来做字体库
二、字体库的制作
安装FontLab Studio,这个工具可以生成字体库 new—>generate font,生成.ttf文件,打开该ttf文件,选中一个字形,打开,然后将做好的字形图标从Illustrator中copy过来,这里有个尺寸问题,可以参看这篇文章Illustrator+FontLab进行字体设计教程 保存,ok。
字体图标的使用
将制作好的字体库copy到工程中,在IOS工程中配置一下,打开appName-Info.plist,添加属性Fonts provided by application,如图:
因为字体图标也是字体,所以使用和普通的字体没区别:看代码就知道了
StrokeLabel *cameraLabel = [[StrokeLabel alloc] initWithFrame:CGRectMake(175, headerImageView.frame.origin.y + 70, 54, 46) LineWidth:5 TextColor:[UIColor whiteColor]];
cameraLabel.text = @"C";
cameraLabel.textAlignment = NSTextAlignmentCenter;
cameraLabel.textColor= [UIColor colorWithHexString:@"#8dc63f"];
cameraLabel.backgroundColor = [UIColor clearColor];
cameraLabel.font = [UIFont fontWithName:FONT_99FANGICON size:35];
[scrollView addSubview:cameraLabel];
[cameraLabel release];
这段代码展示一个相机图标
大家有兴趣的话,可以在项目中使用,IOS项目和Android项目都可以运用,十分方便,到此为止吧