天天看點

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

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

一、在應用中添加自定義字型的步驟

1、網上提供的字型庫有很多,下載下傳完成後,将其導入工程中,一般為ttf格式。

2、注意Build Phases中的Copy Bundle Resources中是否導入了檔案:

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

3、在項目的info.plist檔案中添加字型鍵值如下:

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

這個數組中可以添加多個元素,多個字型庫。

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

繼續閱讀