1. 程式人生 > >在 iOS 中使用 iconfont

在 iOS 中使用 iconfont

load pos sta 矢量圖 方法 如何 class 制圖 之間

如何使用自定義字體

在講icon font之前,首先先來看看普通自定義字體是如何在ios中使用的,兩個原理是一樣的。這裏以KaushanScript-Regular為例: Step 1: 導入字體文件 將字體文件拖入項目(ios支持的字體格式有:.ttf、.otf,其他格式不確定): 技術分享 然後再在項目的資源池中確認字體文件是否加入項目,打開xcode項目的Build Phases中查看: 技術分享 Step 2: 配置.plist文件 在.plist文件中註冊新加入的字體,.plist文件往往以“[appname]-Info.plist”的形式存在於“Supporting Files”文件夾內。 在.plist文件中添加新屬性“Fonts provided by application”,該屬性的值是一個數組,這意味著可以在這裏註冊多個字體。 技術分享
Step 3: 找到字體集名稱 註冊完,我們需要檢測是否註冊成功且取得新字體名稱,檢測方法就是把所有安裝了的字體都打印出來,看看新註冊的字體是否在裏面:
  1. for (NSString* family in [UIFont familyNames])
  2. {
  3. NSLog(@"%@", family);
  4. for (NSString* name in [UIFont fontNamesForFamilyName: family])
  5. {
  6. NSLog(@" %@", name);
  7. }
  8. }
運行完,查看控制臺裏打印出的所有字體集中是否有新註冊的字體,如果有,說明註冊成功,並將字體名(在這裏是“Kaushan Script”)記住留到後面用。 技術分享
Step 4: 使用新字體 最後,就是使用你最新加入的字體啦:
  1. UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 60, 300, 50)];
  2. label.font = [UIFont fontWithName:@"Kaushan Script" size:35];
  3. label.text = @"icon font";
  4. label.textColor = UIColorFromRGB(0xFF7300);
  5. [self.view addSubview:label];
效果: 技術分享 開始使用icon font 圖標字體也是字體,使用方式和上面所說的差不多,只是在套用上有些差別;這裏拿fontello的圖標字體庫為例。 1.選擇需要的圖標
在fontello的圖標字體庫選擇自己需要的圖標,並下載生成的字體文件。 2.按照上面的步驟將圖標字體註冊到項目中 3.找到圖標對應的unicode碼 使用FontLab Studio 5工具打開字體文件(比如fontello.ttf),就可以看到圖標與unicode碼之間的對應關系啦。 技術分享 4.使用圖標
  1. UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 60, 300, 50)];
  2. label.font = [UIFont fontWithName:@"fontello" size:35];
  3. label.text = @"\U0000E802 \U0000E801 \U0000E803 \U0000E804 \U0000E805 \U0000E81A";
  4. label.textColor = UIColorFromRGB(0xFF7300);
  5. [self.view addSubview:label];
在Objective-C中,自定義的unicode碼需要以“\U0000E802”這樣的格式存在。 5.使用emoji表情庫 這裏還可以使用蘋果emoji表情庫的圖標,這裏不需要新加字體庫,只要找到emoji圖標和unicode之間的對應關系就好,但是這些圖標都不是矢量圖,縮放請自重。
  1. UILabel *label5 = [[UILabel alloc] initWithFrame:CGRectMake(10, 480, 300, 50)];
  2. label5.text = @"\U0000e42a\U0000e525\U0000e41c";
  3. [self.view addSubview:label5];
6.效果 技術分享 7.使用自制圖標字體 如果上面介紹的圖標庫還滿足不了你的需求,或者需要的圖標分布在多個圖標庫而不能集中到一個字體文件中;那麽你可能需要自己去制作圖標字體文件了。 總結 這樣,在iOS開發上,不僅可以直接去開源圖標庫找現成的圖標用到項目中,而且還可以輕松地改變圖標的顏色、大小,相信可以解放不少設計師和工程師的工作量。 上代碼 demo 圖標字體庫 fontello etao圖標字體庫(這裏有個問題要註意,etao的圖標字體名為“Untitled1”,是不是生成字體的同學疏忽啦?) IcoMoon emoji表情庫 參考資料 Common Mistakes With Adding Custom Fonts to Your iOS App Icon font 實踐 FontasticIcons ios-fontawesome Custom Unicode Characters in Objective-C

原文鏈接:

http://www.cocoachina.com/industry/20131111/7327.html

https://github.com/JohnWong/IconFont

在 iOS 中使用 iconfont