iOS在應用中添加自定義字體

iOS在應用中添加自定義字體

1、在應用中添加自定義字體的步驟

一、網上提供的字體庫有不少,下載完成後,將其導入工程中,通常爲ttf格式。git

二、注意Build Phases中的Copy Bundle Resources中是否導入了文件:github

三、在項目的info.plist文件中添加字體鍵值以下:數組

這個數組中能夠添加多個元素,多個字體庫。字體

四、這時實際上咱們已經將字體添加進了工程中,可是在在使用這個字體時,字體的名字有時和文件名是不同的,咱們須要知道真實的字體名稱,一般狀況下,咱們會講全部字體名稱打印出來:ui

    for (NSString * name in [UIFont familyNames]) {
        for (NSString * fo in [UIFont fontNamesForFamilyName:name]) {
           NSLog(@"%@",fo);
        }
    }

 

五、找到咱們須要的字體,以下使用便可:spa

 UIFont * font = [UIFont fontWithName:@"yuweij" size:14];

 

2、如何快速的找到新添加的字體名字

        若是你將全部字體都打印了出來,在其中找到新的字體名稱是身份困難的,尤爲是當這個字體的名稱和文件名相差甚遠的時候,這是一件很是痛苦的事情。code

        爲了在之後使用自定義字體的時候沒必要一次一次的經歷這樣的痛苦,在Xcode6.3的環境下,我將全部的系統字體獲取後寫入了plist文件,將這個plist文件導入項目中,經過以下方法,能夠只打印出新增長的字體:ip

    NSString *paths=[[NSBundle mainBundle]pathForResource:@"font" ofType:@"plist"];
    //獲得完整的文件名
    NSDictionary * rootDic = [NSDictionary dictionaryWithContentsOfFile:paths];
    //遍歷當前全部字體
    for (NSString * name in [UIFont familyNames]) {
        NSArray * fontArray = [rootDic objectForKey:name];
        BOOL tip = NO;
        for (NSString * fo in [UIFont fontNamesForFamilyName:name]) {
            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/BaseSouceget

 

專一技術,熱愛生活,交流技術,也作朋友。it

——琿少 QQ羣:203317592

相關文章
相關標籤/搜索