1:獲取字體文件
從各種渠道下載字體文件ttf, 網站或者從別的ipa裡扣出來.(以fzltxh.ttf為例)
2:將fzltxh.ttf文件拷貝到工程中
3:在Info.plist中添加項:
Fonts provided by application(UIAppFonts) 可以添加一個或多個item,
如 item0 -- fzltxh.ttf
4:找出真正的字體名稱:
因為使用字體時, 要使用字體的真實名稱, 而不是文件名, 可以用以下代碼來遍歷當前設備可用的字體名稱,
再從中找出剛才添加的字體真實名稱.
NSArray*familyNames = [UIFont familyNames]; for(NSString*familyName in familyNames ) { printf("Family: %s \n", [familyName UTF8String]); NSArray*fontNames = [UIFont fontNamesForFamilyName:familyName]; for(NSString*fontName in fontNames ) { printf("\tFont: %s \n", [fontName UTF8String] ); }
FZLTXHK--GBK1-0 這個就是此字體的真實使用名稱.
5:使用字體
[UIFont fontWithName:@"FZLTXHK--GBK1-0"size:fontSize];
6:統一替換
如果想把舊工程的字體整體替換掉, 又不想改動已有代碼, 可以重寫
systemFontOfSize 方法.
#import @interfaceUIFont (TJCustom) + (UIFont *)systemFontOfSize:(CGFloat)fontSize; @end
#import "UIFont+custom.h" @implementationUIFont (TJCustom) + (UIFont *)systemFontOfSize:(CGFloat)fontSize { return[UIFont fontWithName:@"FZLTXHK--GBK1-0"size:fontSize]; } @end
這樣的話, 原先寫的
systemFontOfSize 方法都會用新方法代替, 從而實現整體替換的效果.
文/牽左手不離(簡書作者)
原文鏈接:http://www.jianshu.com/p/edf51b8b6479
著作權歸作者所有,轉載請聯系作者獲得授權,並標注“簡書作者”。
以上就是IOS 添加自定義字體方法 的資料整理,後續繼續補充相關資料,謝謝大家對本站的支持!