項目需求中, 有時候有些金額利率等這些不用系統默認字體展現, 而需要着重突出展示!
一、項目截圖及效果截圖
-
項目壓縮截圖
-
效果截圖
二、主要思路
- 將字體庫添加到項目中
- 在info.plist中添加所需新字體, 同時也在target-->Build Phases-->Copy Bundle Resources中將info.plist中添加的字體添加上(確保能找到資源)
- 找到真實可用的fontName, 代碼中使用fontWithName: size: .
三、程序實現
Step1. 將字體庫添加到項目中
字體庫截圖如下, 可以根據自己需要的哪些字體添加到項目中.
Step2. 在info.plist中添加所需新字體.
這里我用一個UniversLTStd-UltraCn.otf文件做測試:
確保能找到資源, 檢查下在target-->Build Phases-->Copy Bundle Resources中將info.plist中是否添加上所需字體.
Step3. 找到真實可用的fontName
要先找到fontName 就需要先找到familyName, 而familyName是通過我們字體庫的文件去找到: 雙擊字體庫打開,系統會默認使用字體冊進行打開。這時候狀態欄上面顯示的是真實的familyName。如下圖所示:
有了familyName, 則相對應找到fontName就好! 通過上面的循環打印結果,在控制台搜索出相對應的結果即可.
/*
* 取出花樣字體的fontName
*
* // familyName : Univers LT Std
* // fontName : UniversLTStd-UltraCn
* // 實際中我們使用的應該是fontName,也就是“UniversLTStd-UltraCn”
*/
- (void)testFontName {
for (NSString *familyName in [UIFont familyNames]) {
NSLog(@"familyName:%@", familyName);
for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
NSLog(@"fontName:%@", fontName);
}
NSLog(@"=====");
}
}
控制台截圖如下:
項目中在所需位置使用fontWithName: size:
label.font = [UIFont fontWithName:@"UniversLTStd-UltraCn" size:20];
四、其他補充
可替換使用自己所需的字體, 字體庫包含中Demo中.
具體可參考代碼, 項目則能夠直接運行!
iOS-使用添加的花樣字體
注:本文著作權歸作者,由demo大師代發,拒絕轉載,轉載需要作者授權