iconfont极大地方便了我们应用的开发,一些小图标可以做成iconfont,生成一个iconfont.ttf的字体,使用时项目里不再需要多种不同分辨率的图标,只需要将Android TextView或iOS UILabel的字体设成iconfont,即可显示图标。
1、将生成的iconfont.ttf拖进项目里。
2、切到项目属性–Build Phases–Copy Bundle Resources–把iconfont.ttf加到这里
3、在Info.plist的根节点下,添加UIAppFonts的Array,Array下添加item,值为iconfont.ttf.
4、项目中使用:
writeLabel.font = UIFont(name: "iconfont", size: 20)
//swift使用unicode码
writeLabel.text = "\u{e603}"
一些特殊情况下,可能需要使用图片显示更加方便,比如说作为UITabBarItem的icon显示。下面是一种将iconfont作为图片使用的方法,由于是实时动态生成,大量使用可能会有性能问题。可以通过一些缓存机制解决。
func imageWithIconFont(iconcode:String) -> UIImage {
let rect = CGRectMake(0, 0, 25, 25)
UIGraphicsBeginImageContextWithOptions(rect.size, false, UIScreen.mainScreen().scale)
let context:CGContextRef = UIGraphicsGetCurrentContext()!
CGContextSetAllowsAntialiasing(context, true)
iconcode.drawInRect(rect, withAttributes: [NSFontAttributeName:UIFont(name: "iconfont", size: 25)!])
let img:UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext();
return img
}
生成iconfont可到该网站: http://www.iconfont.cn/.
除特别注明外,本站所有文章均为[果博]原创 » 转载请注明出处来自https://aiguor.com/notes/140.html
果博