iconfont的使用

iconfont是將圖片以字體的形式展示的一種方法,清晰易縮放而且文件體積小,可以直接通過修改字體顏色和大小來改變圖片大小,很方便。同時也是因為這個原因只能支持純色圖片。不過對于iOS來說,減少了各種@2x、@3x的煩惱,還是很方便的。官方文檔不是很詳細,下面說說如何使用,希望能幫到大家少走彎路。



第一步:點擊下載到本地,將文件中的字體文件(.ttf)添加到工程中;



第二步:打開Info.plist文件,增加一個新的Array類型的鍵,鍵名設(shè)置為UIAppFonts(Fonts provided by application),增加字體的文件名:“iconfont.ttf“;

第三步:使用

iconfont有兩種使用方法,最常用的就是用label來展示

UILabel* label = [[UILabelalloc] initWithFrame:self.view.bounds];

UIFont*iconfont = [UIFontfontWithName:@"uxIconFont"size:34];

label.font = iconfont;

label.text = @"\U00003439 \U000035ad \U000035ae \U000035af \U000035eb \U000035ec";

label.textColor = BLACKCOLOR;

[self.view addSubview: label];

fontname就是上圖中藍色標記位置 fontfamily,text內(nèi)存為 \U0000加上上圖紅色標記位置代碼的后四位,如上圖個人 text就為 \U0000e662

有的時候不能使用label,只能用imageview,比如tabbaritem,這個時候就需要把icon轉(zhuǎn)換為image

+ (UIImage*)imageWithIcon:(NSString*)icon

iconColor:(UIColor*)color

iconSize:(CGFloat)size{

CGFloat scale = [UIScreen mainScreen].scale;

CGFloat realSize = size * scale;//屏幕分辨率調(diào)整圖片大小

UIFont *font = [UIFont fontWithName:@"iconfont" size:realSize];

UIGraphicsBeginImageContext(CGSizeMake(realSize, realSize));//設(shè)置圖片尺寸

CGContextRef context = UIGraphicsGetCurrentContext();

if ([icon respondsToSelector:@selector(drawAtPoint:withAttributes:)]) {

[icon drawAtPoint:CGPointZero withAttributes:@{NSFontAttributeName:font, NSForegroundColorAttributeName: color}];

} else {

CGContextSetFillColorWithColor(context, color.CGColor);

[icon drawAtPoint:CGPointMake(0, 0) withAttributes:@{NSFontAttributeName:font}];

}

UIImage *image = [UIImage

imageWithCGImage:UIGraphicsGetImageFromCurrentImageContext().CGImage

scale:scale orientation:UIImageOrientationUp];

UIGraphicsEndImageContext();

return image;

}

6月29日補

?如何寫法沒錯 卻一直顯示問號? 這個時候一般是字體文件沒加載上的問題? 首先檢查 plist文件里有沒寫錯單詞, 然后BuildPhases--BundleResources里有無文件? 如果都沒問題




拖入字體文件時使用這些選項

如果還是顯示問號



讓讓 我要放大招了


建立一個XIB\SB文件? 找一個label? 設(shè)置如下屬性


然后再運行 就OK了





最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 什么是IconFont 所謂IconFont, 就是利用圖標生成的字體。原理與漢字和emoji一樣, 每一個圖標對...
    Z哥閱讀 2,030評論 0 51
  • 前言:寫這篇文章純粹是記錄自己的使用過程以及一些疑問。iconfont之前一直是作為web頁面替換按鈕圖片的方案,...
    安勒個安閱讀 1,871評論 0 1
  • 基礎(chǔ)環(huán)境 1.使用的矢量圖標庫:http://www.iconfont.cn/ 2.需要賬號登陸 ,名下會有對應(yīng)的...
    Dorazzz閱讀 2,056評論 0 0
  • 1、登錄iconfont,(阿里圖標庫),點開圖標,選擇需要的圖標,添加到庫里(點擊購物車標志); 2、點擊添加至...
    Doit的謊言閱讀 1,874評論 0 0
  • 真的好累!爸爸的不爭氣,那么不好的身體自己卻依舊不知道鍛煉,你若倒下,有想過我和媽媽會多難過嗎?幾乎每天都被長輩們...
    海綿_a0fe閱讀 159評論 0 0

友情鏈接更多精彩內(nèi)容