資源:
( 注意: 請不要修改下載的字體庫名稱, 修改了可能不好用, 我也不知道原因, 如果你知道原因, 請告訴我!!! )
字體庫1:點我進入字體庫下載頁,密碼:3whm? 代碼中用的字體名稱:Qirof ?(本文操作例子為字體庫1)
字體庫2:點我進入字體庫下載界面,密碼:3cfa? 代碼中用的字體名稱:Quartz-Regular
步驟1: 加入字體庫
新建工程,將下載的字體庫拖入Xcode工程,Xcode彈出下圖界面:
1:Destination:是否將拖入的文件復制你的工程中, 這里要打對勾, 不然你所要的文件刪掉或者路徑改動,你工程就找不到文件了.
2:Added folders:
"Create groups":一般指在你的工程中是文件夾的形式,但是在本地的目錄中還是以散亂的形式放在一起的,除非你是從外部以group的形式引用進來的.
"Create folder references":只能作為資源,整個引用進項目,不能編譯代碼,也就是說,以folder形式引用進來的文件,不能被放在complie sources列表里面.
3:Add to targets:選擇對應的目標.一個工程可能含有多個target,勾選你要加入文件的target.
點擊"Finish"加入字體庫!
步驟2: 配置字體庫文件
步驟2.1:
1:選擇項目
2:選擇對應的TARGET
3:選擇Build Phases
4:選擇Compile Sources( xxx items ),點擊加號彈出 "步驟2.2.1" 界面
步驟2.2:
搜索框中輸入字體庫名稱, 選中對應的字體庫,點擊右下角"Add",添加成功效果如圖 "步驟2.2.2" ,
步驟2.3:
1:選擇info.plist
2:點擊圖中加號
3:添加key:"Fonts provided by application"
4:點擊圖中加號
5:輸入"Item 0"對應的Value, 這個Value為字體庫名稱
步驟3: 代碼
/** 1.獲取字體家族名稱的數組. */
NSArray*fontNameArray = [UIFont familyNames];
/** 2.打印輸出所有字體家族的名稱,找到添加的第三方字體家族名稱,并記錄下來.*/
NSLog(@"fontNameArray: %@", fontNameArray);
/** 3.測試.*/
UILabel*testLabel = [[UILabel alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
/** 字體名稱可能和下載的字體庫的名稱不一致, 所以請保證你的字體名稱是正確的*/
testLabel.font= [UIFont fontWithName:@"Qirof"size:80];
testLabel.numberOfLines=7;
testLabel.textColor= [UIColor redColor];
testLabel.backgroundColor= [UIColor blackColor];
testLabel.textAlignment=NSTextAlignmentCenter;
testLabel.text=@"1234567890\n\n(* _ *)\n\nABCDEFG\n\n一串泡泡";
[self.view addSubview:testLabel];
坑 !!!
檢查對應位置是否添加字體庫, 如果沒有,請按照對應步驟添加:
檢查info.plist是否添加字體庫, 如果沒有,請按照對應步驟添加:
運行代碼后,打印臺是否打印所添加字體庫對應的字體:
如果沒有打印臺沒有打印所添加字體庫對應的字體,可能的原因:
1:讀者修改了字體庫名稱,請不要修改下載的字體庫名稱!!!
2:讀者代碼中所設置的字體名稱可能和下載的字體庫的名稱不一致, 所以請保證你的字體名稱是正確的!!!
3:xcode的bug 退出模擬器 退出xcode 重新編譯
4:ttf字體庫雙擊安裝到本地?
注意:個人理解,若有錯誤請指正,謝謝!!!