IOS添加自定義字體實例詳解
IOS添加自定義字體
字體是軟件開發(fā)中個性化的一個重要元素,系統(tǒng)自帶了很多豐富的字體,但有時候并不能滿足個性化的需求,這時候可以向工程中添加自定義的系統(tǒng)字體,然后就可以像使用系統(tǒng)字體一樣使用。字體文件最常用的為ttf等格式。
導入自定義字體過程很簡單:添加資源包到工程->在info.plist文件中注冊字體->在工程Bundle Resource中復制字體資源包->代碼檢測查詢加入的字體并使用
添加資源包
addFile添加字體資源包或者直接將字體包拖到工程資源文件夾下:
info.plist文件中注冊字體
在工程的info.plist屬性列表中添加Fonts provided by application
數(shù)組屬性并在其下添加要加入的自定義字體項。注意,這里在plist文件中寫的是文件的全稱,包括文件后綴,文件的名字我們是可以隨便改的,但建議用本來的字體族名,例如這里是:KristenITC,字體族名是不會變的,之后具體代碼中使用的時候是用的字體族名而不是自定義的文件名。本來的字體族名可以右鍵查看字體文件的詳細信息,里面的全稱是本來的字體族名,而名稱是自定義的。
復制資源包到Bundle Resource
檢測是否成功加入字體
在具體使用之前,我們可以先通過UIFont類提供的函數(shù)打印出系統(tǒng)所有的字體列表,并找到我們更添加的字體看是否添加成功,還可以具體看到我們的資源包有哪些具體的字體樣式,例如該字體族的斜體、粗體、粗斜體等等。打印字體族列表的代碼如下:
/** * 檢查自定義字體族是否成功加入 */ // 取出系統(tǒng)安裝了的所有字體族名 NSArray *familyNames = [UIFont familyNames]; NSLog(@"系統(tǒng)所有字體族名:%@", familyNames); // 打印字體族的所有子字體名(每種字體族可能對應多個子樣式字體,例如每種字體族可能有粗體、斜體、粗斜體等等樣式) for(NSString *familyName in familyNames) { // 字體族的所有子字體名 NSArray *detailedNames = [UIFont fontNamesForFamilyName:familyName]; NSLog(@"\n字體族%@的所有子字體名:%@", familyName,detailedNames); }
這里可以從字體組列表找到我們剛添加的字體族KristenITC:
和字體族KristenITC下的具體字體樣式,這里只有一種也是默認的一種:KristenITC-Regular:
使用字體
確定字體加入系統(tǒng)之后就可以像自帶的系統(tǒng)字體一樣直接使用了:
// 設置label的字體和大小(這里直接使用字體族名也是可以的,有默認的子字體樣式,也可以根據(jù)需求具體到自字體比如這里的:KristenITC-Regular) [_label setFont:[UIFont fontWithName:@"KristenITC" size:35.0]];
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
阿里數(shù)據(jù)iOS端啟動速度優(yōu)化心得
本篇文章給大家詳細分析了阿里數(shù)據(jù)iOS端啟動速度優(yōu)化的知識點以及心得,對此有興趣的朋友參考學習下吧。2018-02-02MAC 系統(tǒng)安裝java并配置環(huán)境變量
這篇文章主要介紹了MAC 系統(tǒng)安裝java并配置環(huán)境變量的相關資料,需要的朋友可以參考下2017-03-03淺述iOS11 Xcode 9 按住command 單擊 恢復到從前(直接跳轉(zhuǎn)到定義)
這篇文章主要介紹了 iOS11 Xcode 9 按住command 單擊 恢復到從前(直接跳轉(zhuǎn)到定義)的相關資料,需要的朋友可以參考下2017-10-10