阿里IconFont平臺
http://www.iconfont.cn/
這里是阿里巴巴UED部門開發(fā)的IconFont平臺舟误,目前阿里系的重量級產(chǎn)品都在使用柳骄,里面有很多資源可供使用叽粹。這里說說如何在客戶端內(nèi)使用醇王。
IconFont雖然看起來是圖標(biāo)敌卓,實際原理跟字體的實現(xiàn)方式是一樣的遂黍,所以我們把每個Icon當(dāng)作一個特殊的文字來理解和處理俐填。
IconFont使用
- 首先登錄網(wǎng)站安接,搜索你要用的Icon,把它們加入購物車(點(diǎn)擊就可以)英融。
- 把購物車?yán)锏乃蠭con存儲在同一個項目中盏檐。
- 進(jìn)入項目,選擇“下載至本地”驶悟。
- 打開下載的文件胡野,里面有一個*.ttf文件,我們需要的所有字體就都在這里了痕鳍。
- 把.ttf文件放入項目硫豆,當(dāng)使用時,把TextView(Android)或UILabel(IOS)的Font設(shè)置為加載.ttf生成的自定義字體笼呆。這里有個問題熊响,怎么指明我們要顯示哪一個Icon呢?
- 下載一個字體編輯軟件诗赌,我在Mac上面使用的是FontLab Studio汗茄,打開*.ttf,找到每個圖標(biāo)對應(yīng)的Unicode值铭若,以”\ue600”這種形式賦值給TextView(Android)或UILabel(IOS)中的文本洪碳。就可以了。
-
導(dǎo)入字體文件
將字體文件拖入項目(ios支持的字體格式有:.ttf奥喻、.otf偶宫,其他格式不確定)
QQ20160508-0.png -
配置iconfont
將.ttf文件添加到Xcode項目中去,在Build Phases配置中確被防穑可以看到導(dǎo)入的文件纯趋。
QQ20160508-1.png
之后在項目的info.plist中,添加Fonts provided by application字段。這字段是一個數(shù)組吵冒,可以為項目添加多個字體集纯命。
QQ20160508-2.png -
找到圖標(biāo)對應(yīng)的unicode碼
使用FontLab Studio 5工具打開字體文件(比如fontello.ttf),就可以看到圖標(biāo)與unicode碼之間的對應(yīng)關(guān)系啦痹栖。
QQ20160508-3.png - 項目中使用
let backBtn = UIButton(type: UIButtonType.Custom)
// IconFont使用
backBtn.titleLabel?.font = UIFont(name: "yunyou", size: 30)
// backBtn.setTitle("", forState: .Normal)
// Swift使用unicode碼
backBtn.setTitle("\u{E64B}", forState: .Normal)
backBtn.titleLabel?.textAlignment = .Left
backBtn.setTitleColor(UIColor.grayColor(), forState: .Normal)
IconFont優(yōu)勢
- 圖標(biāo)集中處理亿汞,避免重復(fù)資源,設(shè)計師只要說明Color揪阿、Size就可以了疗我。
- 減少包大小,每個IconFont只是一小段文本南捂,文件大小要比圖片形式的icon小一個數(shù)量級吴裤。
- 節(jié)省內(nèi)存,IconFont與普通文本一樣是使用矢量圖的方式繪制的溺健,相比圖片的內(nèi)存分配方式麦牺,消耗的內(nèi)存可以忽略不計了。