分是將icon化nt當成普通字體使用,第 二部分是將icon化nt當成圖片使用。
[005引(1)、icon化nt當成普通字體使化具體如下:
[0057]使用圖標字體設置Ubel(標簽)控件的Text(文本)屬性,并改變顏色和尺寸, 具體操作步驟如下:
[005引步驟1、準備圖標字體(iconfont);
[0059] 將圖標的.ai文件(一種矢量圖文件格式),導出可縮放矢量圖形(Seal油le VectorGraphics,svg)文件,然后利用iconfont.cn提供的線上圖標生成工具生成圖標字 體。
[0060] 注;圖標的制作請參考icon化nt平臺使用介紹;為方便示例,我們直接到提供矢 量圖的相關網(wǎng)頁隨意下載幾個圖標,具體如圖2所示,可W選擇圓形選中區(qū)域內(nèi)的圖標。
[0061]步驟2、拷貝字體文件至App項目目錄下;
[0062] 使用xcode6(-款編程軟件)新建一個T油bed Application(標簽應用),將圖標 字體的化ntello. ttf拷貝到項目根目錄下。
[0063] 步驟3、告知xcode6我們有自定義字體可用;
[0064]修改Su卵ortingFiles(文件支持)/Info,plist文件,增加化]118providedby application(提供的應用程序字體)鍵值。
[0065] 步驟4、添加用戶界面扣serInte;rface,UI)控件;
[0066]具體實現(xiàn)方式可W是;點擊Main. stcxryboard(故事板),為第一個視圖拖拽添加 幾個控件,如下圖3 :
[0067] 步驟5、為視圖上的控件在控制器里面創(chuàng)建相應的出口連接點并加相應代碼邏 輯;
[006引注解:
[0069]UOutlet可W譯做"出口連接點,,;
[0070] 3、創(chuàng)建Outlet的方法:在Main,stoiyboard界面上的右上角選中化OWThe AssistantEditor,按住鍵盤的control鍵,在視圖上將控件拖拽至控制器的代碼編輯器界 面,按照提示為控件的連接點起個名字W便在代碼中引用。例如上圖3中,視圖上的Ubel 控件(顯示字母Q的那個)對應的出口連接點為stagelcon。
[0071] 3、在代碼編輯器中,view化load方法里面設置stagelcon的字體和尺寸,W及所 用icon對應的統(tǒng)一編碼(Unicode)。示例中我們用的是下圖4中黑色矩形框內(nèi)的icon,對 應的統(tǒng)一編碼時u+e801,在swift里面需要寫成"\u{e801}"。
[0072]4、最后在3個Slider控件的Value化anged事件里面加入陰影、字號和顏色的控 制邏輯代碼。具體見上圖2所示。
[0073] 使用圖標字體和使用普通的字體沒什么區(qū)別,唯一要注意的地方是需要找到圖標 對應的統(tǒng)一編碼,該個編碼可用找字體的提供者提供即可。
[0074](2)、將iconfont當圖片使用:
[00巧]普通的字體只能當字符串使用,應用范圍局限于String(字符串)類型的屬性中。 圖標字體如果能當成圖片使用,才真正能凸顯其"圖標"特性。在ios應用里面該種想法是 完全可行的,我們可用借助化ntAwesomeKit。
[0076] 化ntAwesomeKit它是一個開源圖標字體庫,目前支持幾個非常有名的開源圖 標字體網(wǎng)站(Font-Awesome,化11]1(131:;[0]1icons,Zocial,andionicons等)的 1000+圖 標。當然也支持用戶的自定義圖標字體,前提是要按照化ntAwesomeKit的接口規(guī)范實現(xiàn) FAKIcon(favoritesicon,網(wǎng)頁圖標)類。
[0077] 作為示例,下面將W如何利用化ntAwesomeKit將T油(標簽)底欄的圖標換成圖 標字體的圖標為例進行舉例說明,具體如下:
[0078] 步驟1;配置Swift(-種計算機編程語言)項目讓其支持引用第H方0C(0C, 化jectC,是擴充C的面向?qū)ο缶幊陶Z目)寫的庫;
[0079] 具體實現(xiàn)方式,可W如下;通過橋接的方式讓Swift項目能夠引用第H方化ject C封裝的庫(具體說明參考官方文檔):
[0080]通過xcode菜單操作,F(xiàn)ile〉New〉File〉(iOSorOS)()〉Sou;rce〉HeaderFile,新增 頭文件;"XXX-Bridging-Header. h",該里的XXX指的是項目名。
[0081]在頭文件里面增加行;#import<F'ontAwesomeKit/FontAwesomeKit.h〉
[0082] 步驟2;利用CocoaPods為項目安裝化1114*日3〇111日1(;[1:;
[0083] 具體實現(xiàn)方式如下;CocoaPods是0C項目的依賴管理器,同樣在Swift項目中適 用。首先要安裝CocoaPods,然后在項目根目錄下增加化壯ile(Plain old dataS化UC化re file,普通的數(shù)據(jù)結構的文件)文件,并添加化ntAwesomeKit庫,如下:
[0084]化(1"化]114*63〇11161(;[1:","~>2. 1. 0"
[00財最后,在命令行終端里面切換到項目目錄,運行podinstall來安裝FontAwesomeKit依賴包。
[0086]步驟 3;在AppDelegate. swift里面設置T油Barltem的image(圖像)屬性;
[0087] 在application方法中增加W下代碼:
[0088] Var tbc=window?. rootViewController asUIT油BarControIXer
[0089] Var憂=憂c. t油Bar
[0090]VartbItemO=tb.items! [0]asUIT油Barltem
[0091]Var憂Iteml=憂.items! [l]asUIT油Barltem
[0092]憂.ItemsO.imge=
[0093]FAKFontAwesome. homelconWithSize(24).imageWithSize(CGSizeMake(24, 24))
[0094]憂.I terns 1. imge =
[0095]FAKFontAwesome. homelconWithSize(24).imageWithSize(CGSizeMake(24, 24))
[0096]W上方案為l^ontAwesomeKit中的圖標對象提供了一個imageWi化hSize方法,在 運行時會將字體圖標轉換成image(圖像)對象。
[0097] 最后CMD+R,編譯運行我們的示例項目,結果如圖5所示。
[009引小結;在ios應用里面,借助化ntAwesomeKit我們可W較完美地利用圖標字體代 替各種圖片圖標,在減少切圖成本的同時提升性能和靈活性。
[0099] 另,需要注意的是,化ntAwesomeKit僅支持ios6. 0+,對于市場份額極少的io巧. X,我們可W利用圖標字體當作普通字體來使用,暫沒有辦法將圖標字體當成圖片來使用。
[0100] 二、如何使用iconfont-An化oid篇
[0101] 注;W下案例示例使用Google最新的An化oidStudio完成。An化oid的具體實現(xiàn), 主要包含兩個部分,第一部分是將icon化nt當成普通字體使用,第二部分是將icon化nt當 成圖片使用。
[0102] (1)、iconfont當普通字體使用
[0103] 步驟1 ;準備圖標字體:
[0104] An化oid里面使用圖標字體比ios略簡單,只需要將字體文件(ttf(TrueType Font,字體文件)文件)拷貝到assets(系統(tǒng)的資源文件夾)目錄下,然后在代碼里面就可 W直接使用了。
[0105] 為方便示例,我們直接到化ntello隨意下載幾個圖標。并將化ntello.ttf添加 至項目的assets目錄下。具體可W是assets下添加一個化ntello.ttf;
[0106] 如果項目還沒有assets目錄,可W先創(chuàng)建該目錄,具體可W是:在app的New/ AssetsFolder/的選項中添加。
[0107] 步驟2 ;參考上面ios測試應用的界面添加相應的視圖W及UI控件
[010引 Amlroid里面添加UI控件的方式和化ml頁面差不多,當然也可W通過控件拖拽操 作來完成,此處略過,設置如下;在res/化agment_main.xml/目錄下進行操作。包含字體圖 標的陰影/顏色/字號等項。
[0109] 步驟3-在代碼編輯器里面添加設置圖標字體的邏輯代碼;
[0110] An化oid里面Activity的概念有點像I0S里面的Controller,我們添加設置 TextView使用圖標字體的代碼如下:
[0111] //referenceandsetouriconfont
[0112] I\ipefacefont=
[0113] Typeface.createFromAsset(getResources0 .getAssets0 , "fontello.ttf");
[0114]