IconFont的介绍这里不多说了,本篇文章主要介绍本人在使用IconFont的时候,遇到的问题和解决方案。
demo下载地址:
OC版下载:https://github.com/huangshouwu/IconFontOC.git
swift版下载:https://github.com/huangshouwu/IconFont_Swift.git
在使用IconFont的时候,每用一种图标都需要先将“&#xXXXX” 转换成“\U0000XXXX”,感觉很麻烦
于是决定自己写套代码转换,现在只需要使用Icon对应的名字即可,先上截图看看效果:
下面介绍下如何使用:
1.首先,项目使用了两个三方库 “hpple”和淘点点的“IconFont”,可以pod安装或直接拖入项目中
2.下载一个IconFont字体库,下载地址参考:https://www.iconfont.cn/collections/index?spm=a313x.7781069.1998910419.3,下载完成后将iconfont.ttf 文件和demo_index.html拖入项目中
3.主要转换代码在“SGTIconFontManager” 这个类中,将SGTIconFontManager.swift或SGTIconFontManager.h&SGTIconFontManager.m拖入项目中,如果不想执行第2步,可以将IconFontMananger文件夹整个拖入项目中(这里面的字体不多,需要更多还是需要第2步)
4.配置:
1)Build Phases->Link Binary With Libraries->添加"libxml2.tdb"
2) Build Settings->Header Search Paths ->添加“$(SDKROOT)/usr/include/libxml2”
3)Info->Custom iOS Target Properties ->添加key“Fonts provided by application”,类型为Array,item0的value 为“iconfont.ttf”
5.代码集成:
1)在AppDelegate 的didFinishLaunchingWithOptions 里添加 ”SGTIconFontManager.configIconFont()“ 配置字体
2)在需要使用的地方添加 #import "TBCityIconFont.h"
3)如果显示在UILabel中,需要设置label的font 为“iconfont”,如:UIFont.init(name:SGTIconFontManager.fontName(), size:20);label的text直接赋值调用SGTIconFontManager.IconFontName(name:“AAA”),AAA为demo_index.html文件中图标对应的英文或中文名
4)如果显示在UIImageView中调用 SGTIconFontManager.IconFontName(name: “AAA”, size:size, color:color)赋值给image即可
网友评论