近期发现网上有许多关于导入 .tff 字体的博客都是坑爹的,然而朋友们又叫我写一下,所以今天在这里记录一下IOS如何导入并在项目中使用 .tff 字体的使用。
1.下载一个 .tff 字体文件,这里有方正兰亭黑为例子
图1
2.在 info.plist文件中告诉系统你想连接导入的字体文件
图2
别告诉我 info.plist 文件不知道在那里。好吧,我也告诉你了,就在上图蓝色的地方,大大的info.plist。
3.至此我们需要测试一下是否已经成功导入 .tff 到系统了,我们就打印一下 Fontfamily 来看看
for(NSString*fontfamilynamein[UIFontfamilyNames]) {NSLog(@"family:'%@'",fontfamilyname);for(NSString*fontNamein[UIFontfontNamesForFamilyName:fontfamilyname]) {NSLog(@"\tfont:'%@'",fontName); }NSLog(@"-------------"); }
当然也打印出了许多结果,但是怎么知道究竟哪一个字体才是我们所导入的字体呢?难道直接搜索方正兰亭纤细黑_GBK?
答案当然不是了,我们打开方正兰亭纤细黑_GBK.tff的所在文件夹,像这样
图3
然后双击我们的方正兰亭纤细黑_GBK.tff文件,能看到弹出了以下的一个字体弹框。
图4
我们很明显的能看到标题为FZLanTingHei-EL-GBK,没错,这就是我们要找的fontfamilyname了。
我们在控制台的打印上搜索FZLanTingHei-EL-GBK发现如图5
图5
看以看出这个fontfamilyname下只有一个字体,就是FZLTXHK--GBK1-0,这个就是我们想要用的字体了,方正兰亭纤细黑
但是有时候我们不那么顺利,会在 Xcode 的 loger 中找不到对应的字体,例如下面这个字体
image.png
这个字体看上去名称是全中文的,但是在 Xcode 输出中却是没有全中文名称的字体,这个时候,只能通过字体的中文拼音大写去找了,找到如下
image.png
4.设置字体到 UILabel 上
UILabel*label = [[UILabelalloc] initWithFrame:CGRectMake(10,100,300,400)]; label.text =@"汉体书写信息技术标准相容档案下载使用界面简单 支援服务升级资讯专业制作创意空间快速无线上网㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩AaBbCc AaBbCc"; label.numberOfLines =0;UIFont*font = [UIFontfontWithName:@"FZLTXHK--GBK1-0"size:40];if(font) { label.font = font; [self.view addSubview:label]; }
Command + R 运行程序,看到模拟器上所如下图
屏幕快照 2016-02-23 下午3.36.31.png
至此,我们就成功导入并使用 .ttf 文件了。