在iOS的開發中,各類圖標的使用是不可避免的,若是把所有圖標作成圖片放在項目中,那麼隨着項目的逐漸龐大起來,圖片所佔的地方就會愈來愈大,安裝包也就隨之變大了,若是圖標須要根據不一樣的場景改變使用不一樣的顏色,那麼,若是作成圖片就須要多張不一樣顏色的圖片,對於能更換皮膚的APP來講,安裝包也就會更大,爲了讓APP的安裝包瘦身,iconfont就產生了。關於iconfont的介紹與製做方式就暫時不進行介紹了。html
第一步:獲取iconfont文件。swift
公司會有UI作圖,讓他們提供文件就行了,若是本身學習測試或者作本身的項目,就須要本身找素材了。我平時用的是阿里巴巴的圖標庫(http://www.iconfont.cn)。
打開網址,搜索你須要的圖標
移動鼠標到圖標上,點擊購物車的小圖標,而後點擊右上角的購物車小圖標,
點擊下載代碼,就能夠把下載一個包含iconfont的壓縮包,文件夾的目錄以下圖
數組
第二步:導入ttf文件app
將文件夾中的iconfont.ttf文件直接拖入到項目中,記得勾選Add to targets中的選項ide
第三步:修改info.plist學習
點擊添加按鈕,輸入UIAppFonts,點擊回車,會自動變成名稱爲Fonts provided by application的數組,點擊添加一個item,類型爲String,輸入iconfont.ttf,這個是你剛導入的文件的名字,點擊回車,配置完畢;測試
第四步:查看iconfont中的圖標的編碼編碼
咱們使用的是unicode,因此,在剛纔下載的文件夾中找到demo_unicode.html文件,雙擊打開,能夠看到以下內容
其中的圖標名稱下面的一個字符串就是咱們須要的編碼,只是咱們須要將其進行轉換,若是是Objective-C,咱們須要將其轉爲\U0000e642,若是是swift,咱們須要將其轉爲\u{e642},每一個圖標的編碼不同,可是對應關係是同樣的,每一個iconfont文件中可能不止一個圖標,使用的時候就根據圖標編碼轉成對應的便可使用;3d
第五步:在項目中使用iconfontcode
我用的是swift,Objective-C的使用方式相似,大家能夠本身嘗試,只是編碼的轉換結果不同
let iconLabel = UILabel.init(frame: .init(x: 0, y: 0, width: 100, height: 30)) iconLabel.text = "\u{e642}" iconLabel.font = UIFont.init(name: "iconfont", size: 15)
其中的設置font中的name是你導入文件的名稱,若是你想給圖標一個顏色,直接設置label的文本顏色便可,若是設置大小,直接設置font就行
總結:文字圖標的使用很方便,也能讓安裝包減小不小的體積,項目中圖標太多或者隨時須要轉換圖標顏色的話,建議使用,若是隻有幾個並且不須要隨時轉換顏色,那就沒有那個必要了,切幾個小圖標就好了。
若是有什麼地方是有錯誤的,歡迎指正,交流是提高技術的一種方式。