1:獲取字體文件
從各種渠道下載字體文件ttf, 網(wǎng)站或者從別的ipa里扣出來.(以fzltxh.ttf為例)
2:將fzltxh.ttf文件拷貝到工程中
3:在Info.plist中添加項:
Fonts provided by application(UIAppFonts) ?可以添加一個或多個item,
如 item0 -- ?fzltxh.ttf
4:找出真正的字體名稱:
因為使用字體時, 要使用字體的真實名稱, 而不是文件名, 可以用以下代碼來遍歷當(dāng)前設(shè)備可用的字體名稱,
再從中找出剛才添加的字體真實名稱.
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:統(tǒng)一替換
如果想把舊工程的字體整體替換掉, 又不想改動已有代碼, 可以重寫
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 方法都會用新方法代替, 從而實現(xiàn)整體替換的效果.