你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS添加自定義字體實例詳解

IOS添加自定義字體實例詳解

編輯:IOS開發綜合

IOS添加自定義字體

字體是軟件開發中個性化的一個重要元素,系統自帶了很多豐富的字體,但有時候並不能滿足個性化的需求,這時候可以向工程中添加自定義的系統字體,然後就可以像使用系統字體一樣使用。字體文件最常用的為ttf等格式。

導入自定義字體過程很簡單:添加資源包到工程->在info.plist文件中注冊字體->在工程Bundle Resource中復制字體資源包->代碼檢測查詢加入的字體並使用

添加資源包

addFile添加字體資源包或者直接將字體包拖到工程資源文件夾下:

info.plist文件中注冊字體

在工程的info.plist屬性列表中添加Fonts provided by application數組屬性並在其下添加要加入的自定義字體項。注意,這裡在plist文件中寫的是文件的全稱,包括文件後綴,文件的名字我們是可以隨便改的,但建議用本來的字體族名,例如這裡是:KristenITC,字體族名是不會變的,之後具體代碼中使用的時候是用的字體族名而不是自定義的文件名。本來的字體族名可以右鍵查看字體文件的詳細信息,裡面的全稱是本來的字體族名,而名稱是自定義的。

復制資源包到Bundle Resource

檢測是否成功加入字體

在具體使用之前,我們可以先通過UIFont類提供的函數打印出系統所有的字體列表,並找到我們更添加的字體看是否添加成功,還可以具體看到我們的資源包有哪些具體的字體樣式,例如該字體族的斜體、粗體、粗斜體等等。打印字體族列表的代碼如下:

 /**
   * 檢查自定義字體族是否成功加入
   */
  // 取出系統安裝了的所有字體族名
  NSArray *familyNames = [UIFont familyNames];
  NSLog(@"系統所有字體族名:%@", familyNames);
  // 打印字體族的所有子字體名(每種字體族可能對應多個子樣式字體,例如每種字體族可能有粗體、斜體、粗斜體等等樣式)
  for(NSString *familyName in familyNames) {
    // 字體族的所有子字體名
    NSArray *detailedNames = [UIFont fontNamesForFamilyName:familyName];
    NSLog(@"\n字體族%@的所有子字體名:%@", familyName,detailedNames);
  }

這裡可以從字體組列表找到我們剛添加的字體族KristenITC:

和字體族KristenITC下的具體字體樣式,這裡只有一種也是默認的一種:KristenITC-Regular:

使用字體

確定字體加入系統之後就可以像自帶的系統字體一樣直接使用了:

// 設置label的字體和大小(這裡直接使用字體族名也是可以的,有默認的子字體樣式,也可以根據需求具體到自字體比如這裡的:KristenITC-Regular)
  [_label setFont:[UIFont fontWithName:@"KristenITC" size:35.0]];

這裡寫圖片描述

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved