在iOS開(kāi)發(fā)中使用icon font的方法

2013-12-13 09:55:36來(lái)源:看引擎作者:

在開(kāi)發(fā)阿里數(shù)據(jù)iOS版客戶端的時(shí)候,由于項(xiàng)目進(jìn)度很緊,項(xiàng)目里的所有圖標(biāo)都是用最平常的背景圖片方案來(lái)實(shí)現(xiàn)。而為了要兼容普通屏與Retina屏的設(shè)備,蘋果要求每個(gè)背景圖都要以兩種尺寸存(a.png和a@2x.png),這讓設(shè)計(jì)師

在開(kāi)發(fā)阿里數(shù)據(jù)iOS版客戶端的時(shí)候,由于項(xiàng)目進(jìn)度很緊,項(xiàng)目里的所有圖標(biāo)都是用最平常的背景圖片方案來(lái)實(shí)現(xiàn)。而為了要兼容普通屏與Retina屏的設(shè)備,蘋果要求每個(gè)背景圖都要以兩種尺寸存(a.png和a@2x.png),這讓設(shè)計(jì)師們?cè)黾恿顺杀,因(yàn)樗麄兠看味嫉贸鰞煞荼尘皥D標(biāo)。

現(xiàn)在在web開(kāi)發(fā)上,icon font技術(shù)的應(yīng)用很廣泛,它不僅在解決多分辨率顯示問(wèn)題上很有成效,而且在使用它的時(shí)候還能降低不少設(shè)計(jì)和開(kāi)發(fā)成本。

那么它能不能應(yīng)用到ios開(kāi)發(fā)上來(lái)呢?帶著這個(gè)疑問(wèn),我在github上找到了FontasticIcons和ios-fontawesome,但是這兩個(gè)OC包對(duì)icon資源封裝都有限,而且擴(kuò)展也不是很方便。

既然能在ios上使用icon font,那么怎么用呢?經(jīng)過(guò)一番摸索,發(fā)現(xiàn)使用原理和自定義字體差不多,只有個(gè)別操作不太一樣,接下來(lái)我給大家詳細(xì)介紹一下。

如何使用自定義字體

在講icon font之前,首先先來(lái)看看普通自定義字體是如何在ios中使用的,兩個(gè)原理是一樣的。這里以KaushanScript-Regular為例:

Step 1: 導(dǎo)入字體文件

將字體文件拖入項(xiàng)目(ios支持的字體格式有:.ttf、.otf,其他格式不確定):

字體文件拖入項(xiàng)目

然后再在項(xiàng)目的資源池中確認(rèn)字體文件是否加入項(xiàng)目,打開(kāi)xcode項(xiàng)目的Build Phases中查看:

確認(rèn)字體文件是否加入項(xiàng)目

Step 2: 配置.plist文件

 

UILabel *label5 = [[UILabel alloc] initWithFrame:CGRectMake(10, 480, 300, 50)];
label5.text = @"\U0000e42a\U0000e525\U0000e41c";
[self.view addSubview:label5];

6.效果

效果展示

7.使用自制圖標(biāo)字體

如果上面介紹的圖標(biāo)庫(kù)還滿足不了你的需求,或者需要的圖標(biāo)分布在多個(gè)圖標(biāo)庫(kù)而不能集中到一個(gè)字體文件中;那么你可能需要自己去制作圖標(biāo)字體文件了。

總結(jié)

這樣,在iOS開(kāi)發(fā)上,不僅可以直接去開(kāi)源圖標(biāo)庫(kù)找現(xiàn)成的圖標(biāo)用到項(xiàng)目中,而且還可以輕松地改變圖標(biāo)的顏色、大小,相信可以解放不少設(shè)計(jì)師和工程師的工作量。

上代碼

圖標(biāo)字體庫(kù)


 

關(guān)鍵詞:iOSiconfont