-
将字体源文件拖入工程,确保勾选了 Target 字体文件是以.tff 为后缀的字体文件
一般我们的设计人员会给到这个文件 如果你想测试 也可以从 Mac获取到很多的字体文件 方法如下
-
在 info.plist 中添加一个数组类型关键字 "Fonts provided by application",并将源文件的名字(加后缀)添加为一项。
- 使用 使用控制台输出的方式能够找到新添加的字体名字
这里要特别注意的是 在控制台输出的字体名字 不一定和我们文件名字是一致的 但会有部分字节是相同的所以需要我们细心的查找一番 如笔者就是大小写发生了变化 有的时候变化是你想不到的 所以一定要用 真正捕捉到的 名称 否则会不成功的
for (NSString *familyNames in [UIFont familyNames]) {
for (NSString *fontNames in [UIFont fontNamesForFamilyName:familyNames]) {
NSLog(@"%@",fontNames);
}
}
- UIFont(name: "custom_font_name", size: 20)初始化字体
当然笔者也发现了另外一个秘密
笔者在 Demo 工程中测试,能够正确的显示新添加的字体。但是,按照该方法将字体加入项目工程,却没有效果了,familyFonts 的数量没有增加,经过一番折腾之后,发现用 UIAppFonts 替换 Fonts provided by application 作为 Key 就可以了。
查阅了下文档发现 UIAppFonts 才是真正的 Key,“Fonts provided by application” 只是在 Xcode 中可读的一种形式。照理说第二种形式会自动转换为 UIAppFonts,如果不幸无效的话,就直接使用 UIAppFonts 吧。最后笔者送上 苹果自带的所有字体的效果 和他们的名字
Font Family: American Typewriter( AmericanTypewriter,AmericanTypewriter-Bold)
Font Family: AppleGothic(AppleGothic)
Font Family: Arial(ArialMT,Arial-BoldMT,Arial-BoldItalicMT,Arial-ItalicMT)
Font Family: Arial Rounded MT Bold(ArialRoundedMTBold)
Font Family: Arial Unicode MS(ArialUnicodeMS)
Font Family: Courier(Courier,Courier-BoldOblique,Courier-Oblique,Courier-Bold)
Font Family: Courier New(CourierNewPS-BoldMT,CourierNewPS-ItalicMT,CourierNewPS-BoldItalicMT,CourierNewPSMT)
Font Family: DB LCD Temp (DBLCDTempBlack)
Font Family: Georgia( Georgia-Bold, Georgia,Georgia-BoldItalic,Georgia-Italic)
Font Family: Helvetica(Helvetica-Oblique,Helvetica-BoldOblique,Helvetica,Helvetica-Bold) 默认字体
Font Family: Helvetica Neue(HelveticaNeue,HelveticaNeue-Bold)
Font Family: Hiragino Kaku Gothic **** W3(HiraKakuProN-W3)
Font Family: Hiragino Kaku Gothic **** W6(HiraKakuProN-W6)
Font Family: Marker Felt( MarkerFelt-Thin)
Font Family: STHeiti J (STHeitiJ-Medium,STHeitiJ-Light)
Font Family: STHeiti K( STHeitiK-Medium, STHeitiK-Light)
Font Family: STHeiti SC(STHeitiSC-Medium, STHeitiSC-Light)
Font Family: STHeiti TC(STHeitiTC-Light,STHeitiTC-Medium)
Font Family: Times New Roman(TimesNewRomanPSMT,TimesNewRomanPS-BoldMT, TimesNewRomanPS-BoldItalicMT, TimesNewRomanPS-ItalicMT)
Font Family: Trebuchet MS( TrebuchetMS-Italic,TrebuchetMS,Trebuchet-BoldItalic,TrebuchetMS-Bold)
Font Family: Verdana( Verdana-Bold,Verdana-BoldItalic, Verdana,Verdana-Italic)
Font Family: Zapfino( Zapfino)