我们公司的设计是一位有情怀的设计师, 他觉得苹果系统自带的字体太丑了, 就想用兰亭中黑. 故事就这样开启了
1. 给设计师要他想添加的字体, 记住千万要TTF格式, 千万要TTF格式, 千万要TTF格式, 重要的事情说三次,
我说下原因, 字体库有两种格式, 一种是TTF格式, 一种是TTC格式, TTF是一种单一的字体库, 里面只有一个字体, 但是, 但是 TTC格式是几种字体库的集合, 如果你添加的是TTC格式的字体, 那么你的项目是拖得XIB文件, 恭喜你, 没问题, 你在设置字体的时候, 会给你列出TTC字体库里面的全部字体, 但是 , 但是, 如果你是用的代码, 那你也能找到这个字体, 但是你无法选择使用里面的那个字体,
我举个例子吧, 我们设计师给我的是TTC格式的兰亭黑体, 里面包含三种字体, 兰亭大黑, 兰亭中黑, 兰亭纤黑, 我用xib拖得控件设置字体的时候, 有三种选择可以选择, 但是我用代码设置字体的时候, 只有一个兰亭黑体, 无法选择大黑, 中黑, 纤黑, 系统默认纤黑, 我当初就栽倒了这个坑里, 这个问题纠结了两小时,最后才发现是是字体库的问题, 特意下载了一个兰亭中黑TTF 字体库, 才达到了设计师想要的效果
2. 把字体库添加到程序中, 这里需要查看一下, 是否添加到程序中, Target -> Bundle Phases -> Copy Bound Resources 中是否存在 没有添加上
3. 在Info.plist中添加自定义字体文件 (这里的自定义字体是字体包的名字)
4. 查看一下字体库是否添加上了
[UIFontfamilyNames]查看有没有添加上 注意这里的名字可能和你的字体包的名字不太一样, 需要查看你的文字包在系统上的名字(双击打开就可以看到了)
5.
[label setFont:[UIFontfontWithName:@"FZLanTingHei-DB-GBK"size:12]];