標籤:
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 方法.
//// UIFont+custom.h// TuJing//// Created by willbin on 15/1/13.// Copyright (c) 2015年 willbin. All rights reserved.//#import <UIKit/UIKit.h>@interface UIFont (TJCustom)+ (UIFont *)systemFontOfSize:(CGFloat)fontSize;@end
//// UIFont+custom.m// TuJing//// Created by willbin on 15/1/13.// Copyright (c) 2015年 willbin. All rights reserved.//#import "UIFont+custom.h"@implementation UIFont (TJCustom)+ (UIFont *)systemFontOfSize:(CGFloat)fontSize{ return [UIFont fontWithName:@"FZLTXHK--GBK1-0" size:fontSize];}@end
這樣的話, 原先寫的
systemFontOfSize 方法都會用新方法代替, 從而實現整體替換的效果.
iOS自訂字型及類目