Fonty是什么
Fonty 是一個(gè)iOS字體插件强品。它能讓你的iOS 應(yīng)用直接使用第三方的ttf, otf or ttc字體,而無(wú)需事先將字體文件加入安裝包內(nèi)瘩缆。
Demo
使用步驟
準(zhǔn)備 URL
準(zhǔn)備幾個(gè)可以下載的字體文件地址,例如https://github.com/s2mh/FontFile/raw/master/Chinese/Simplified%20Chinese/ttc/Xingkai.ttc
∑锿瑁可以是ttf、otf或ttc格式妒貌。
導(dǎo)入
將Fonty庫(kù)導(dǎo)入到你的工程中通危。你可以直接手動(dòng)導(dǎo)入Fonty文件夾,也可以使用CocoaPods:
target 'TargetName' do
pod 'Fonty'
end
使用時(shí)所需的頭文件:
#import "Fonty.h"
3 配置
在AppDelegate中灌曙,將準(zhǔn)備好的字體文件地址配置給Fonty:
[FYFontManager setFileURLStrings:@[@"https://github.com/s2mh/FontFile/raw/master/Chinese/Simplified%20Chinese/ttc/Xingkai.ttc",
@"https://github.com/s2mh/FontFile/raw/master/Common/Bold/LiHeiPro.ttf",
@"https://github.com/s2mh/FontFile/raw/master/English/Bold/Luminari.ttf",
@"https://github.com/s2mh/FontFile/raw/master/Common/Regular/YuppySC-Regular.otf"]];
FYFontManager(用于管理字體文件)會(huì)據(jù)此生成對(duì)應(yīng)的FYFontFile對(duì)象(用于描述字體文件信息):
NSArray<FYFontFile *> *fontFiles = [FYFontManager fontFiles];
下載&注冊(cè)
用FYFontManager的下載字體文件:
[FYFontManager downloadFontFile:file];
下載完成后菊碟,F(xiàn)onty會(huì)自動(dòng)保存和注冊(cè)字體文件。注冊(cè)成功后在刺,F(xiàn)onty會(huì)發(fā)出FYFontFileRegisteringDidCompleteNotification
通知逆害。該通知包含已注冊(cè)的文件:
- (void)completeFile:(NSNotification *)notification {
FYFontFile *file = [notification.userInfo objectForKey:FYFontFileNotificationUserInfoKey];
...
}
注意:ttf和otf文件包含一種字體,ttc文件可能包含多個(gè)字體蚣驼。
獲得字體
已注冊(cè)的字體文件包含一個(gè)FYFontModel對(duì)象數(shù)組魄幕,一個(gè)FYFontModel代表一種字體∮毙樱可以直接從FYFontModel中獲得字體:
FYFontModel *model = file.fontModels[0];
UIFont *font = [model.font fontWithSize:17.0];
也可以設(shè)置FYFontManager的mainFont纯陨,通過(guò)UIFont (FY_Fonty)分類(lèi)的方法,便捷地獲得字體:
[FYFontManager setMainFont:font];
...
textView.font = [UIFont fy_mainFontWithSize:17.0];
存檔
在應(yīng)用關(guān)閉前保存設(shè)置的信息留储,可保證每次應(yīng)用下次啟動(dòng)后使用同樣的字體翼抠。
[FYFontManager archive];