在剛剛接觸
iOS開(kāi)發(fā)
的時(shí)候急凰,每次涉及到圖標(biāo)
萝挤、按鈕
等繪制工作時(shí)放吩,都覺(jué)得無(wú)比繁瑣智听。因?yàn)槲覀冃枰獙?strong>尺寸合適的圖片格式的素材加入到項(xiàng)目中,設(shè)置一系列冗雜的UIImageView相關(guān)設(shè)置。當(dāng)然到推,如果需要在不同分辨率下顯示考赛,我們還需為一個(gè)圖標(biāo)準(zhǔn)備多個(gè)不同分辨率的素材。當(dāng)你的設(shè)計(jì)改變莉测,僅僅想要將一個(gè)小圖標(biāo)的顏色進(jìn)行替換時(shí)颜骤,就不得不重新制作圖片素材,并在項(xiàng)目中進(jìn)行替換捣卤。你看到了忍抽,加粗的關(guān)鍵詞都是我對(duì)這種開(kāi)發(fā)模式的吐槽。
在之前的文章里董朝,我就已經(jīng)向大家強(qiáng)烈安利過(guò)
iconfont
鸠项,今天終于可以為它單獨(dú)寫(xiě)一篇文章。
iconfont
簡(jiǎn)介
到如今子姜,我們擁有了iconfont
技術(shù)祟绊,在前端、客戶端等領(lǐng)域都被廣泛使用闲询。簡(jiǎn)單來(lái)說(shuō)久免,就是它將圖標(biāo)素材轉(zhuǎn)換為矢量的字體文件
的形式在界面中進(jìn)行展示。
如你所見(jiàn)扭弧,它是矢量素材,我們不需要為了不同分辨率下分別進(jìn)行設(shè)置记舆,像你的UILabel
中的文字一樣鸽捻,它是一直高清的。
同時(shí)泽腮,它是一種字體
御蒲,所以當(dāng)你想要更換顏色時(shí),只需要像更換UILabel
顏色一樣诊赊,對(duì)它的顏色進(jìn)行代碼設(shè)置厚满。
當(dāng)然,更重要的是碧磅,你不再需要圖片格式的素材碘箍,客戶端的體積和性能表現(xiàn)也會(huì)有相應(yīng)提升。
在這里鲸郊,向大家強(qiáng)烈推薦阿里巴巴的iconfont圖標(biāo)庫(kù)丰榴。
LYIconfont
介紹
當(dāng)然,在iconfont
的使用過(guò)程中秆撮,我也遇到了一些令人懊惱的問(wèn)題四濒。比如,要想使用一個(gè)iconfont
形式的圖標(biāo),我需要編寫(xiě)一大堆繁瑣的代碼盗蟆,如你所見(jiàn):
UIButton *reLocate = [[UIButton alloc] initWithFrame:CGRectMake(DEAppWidth - 90, 15, 80, 15)];
[reLocate setTitle:@"\U0000e8a4 重新定位" forState:UIControlStateNormal];
[reLocate setTitleColor:DEColor(26, 152, 252) forState:UIControlStateNormal];
reLocate.titleLabel.font = [UIFont fontWithName:@"iconfont" size:15.0];
reLocate.contentHorizontalAlignment = NSTextAlignmentRight;
這是對(duì)一個(gè)UIButton
形式的iconfont
圖標(biāo)進(jìn)行設(shè)置所需的代碼量戈二。
所以我對(duì)諸如此類(lèi)的設(shè)置代碼進(jìn)行了封裝,以方便阿里巴巴圖標(biāo)庫(kù)iconfont
形式素材的使用喳资。
這里是項(xiàng)目地址觉吭。如果它對(duì)你有幫助,希望點(diǎn)一個(gè)star~
使用方式
- 項(xiàng)目中引入
LYIconfont.h
和LYIconfont.m
文件 - 在需要設(shè)置
iconfont
圖標(biāo)的文件中引入LYIconfont.h
頭文件
調(diào)用方式:
- 獲取一個(gè)
UIButton
類(lèi)型的圖標(biāo):
UIButton *iconfontBtn = [LYIconfont LYIconfontButtonWithFrame:frame code:@"\U0000e6e9" color:someColor size:25.0];
- 獲取一個(gè)
UILabel
類(lèi)型的圖標(biāo):
UILabel *iconfontLabel = [LYIconfont LYIconfontLabelWithFrame:frame code:@"\U0000e6e9" color:someColor size:25.0];
參數(shù)解析:
frame
你的按鈕或標(biāo)簽形式的圖標(biāo)frame
- code
你的圖標(biāo)素材編碼
- color
你的圖標(biāo)顏色
- size
你的圖標(biāo)尺寸