iOS开发中使用iconfont(Swift语言)

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

评论 抢沙发

表情 格式
  • 昵称 (必填)
  • 邮箱 (必填)

关注移动互联网,与科技共成长

联系我们