iOS在應用中添加自定義字型
一、在應用中添加自定義字型的步驟
1、網上提供的字型庫有很多,下載下傳完成後,将其導入工程中,一般為ttf格式。
2、注意Build Phases中的Copy Bundle Resources中是否導入了檔案:
3、在項目的info.plist檔案中添加字型鍵值如下:
這個數組中可以添加多個元素,多個字型庫。
4、這時實際上我們已經将字型添加進了工程中,但是在在使用這個字型時,字型的名字有時和檔案名是不一樣的,我們需要知道真實的字型名稱,通常情況下,我們會講所有字型名稱列印出來:
for (NSString * name in [UIFont familyNames]) {
for (NSString * fo in [UIFont fontNamesForFamilyName:name]) {
NSLog(@"%@",fo);
}
}
5、找到我們需要的字型,如下使用即可:
UIFont * font = [UIFont fontWithName:@"yuweij" size:14];
二、如何快速的找到新添加的字型名字
如果你将所有字型都列印了出來,在其中找到新的字型名稱是身份困難的,尤其是當這個字型的名稱和檔案名相差甚遠的時候,這是一件非常痛苦的事情。
為了在以後使用自定義字型的時候不必一次一次的經曆這樣的痛苦,在Xcode6.3的環境下,我将所有的系統字型擷取後寫入了plist檔案,将這個plist檔案導入項目中,通過如下方法,可以隻列印出新增加的字型:
NSString *paths=[[NSBundle mainBundle]pathForResource:@"font" ofType:@"plist"];
//得到完整的檔案名
NSDictionary * rootDic = [NSDictionary dictionaryWithContentsOfFile:paths];
//周遊目前所有字型
NSArray * fontArray = [rootDic objectForKey:name];
BOOL tip = NO;
for (NSString * tmp in fontArray) {
if ([tmp isEqualToString:fo]) {
tip=YES;
break;
}
}
if (!tip) {
NSLog(@"%@",fo);
如果你也需要,字型集plist檔案的位址:
https://github.com/ZYHshao/YHBaseFoundationTest/tree/master/YHBase/BaseSouce。