IconFont,iOS图片匹配主题实现

在iOS项目中,一般对图片资源要求有@2x,@3x两套,以适配不同分辨率的设备。对于有换肤需求的APP来说,还需要多套图来匹配不同的主题。这样不但无形中增加了开发者和设计者的工作量,而且会增大APP的体积。为了释放开发者、设计者的双手以及给APP“减重”,iconfont被引入到iOS开发中来。

生成iconfont

生成iconfont需要矢量图。一些网站提供生成iconfont的服务,比如icomoonFontello阿里巴巴矢量图标库easyicon提供大量优秀的矢量图。

工程配置和demo

参考教程:http://www.iconfont.cn/help/iconuse.html

使用方法

添加一个UIImage的分类方法,

//设置字体图标
////fontName为字体名,可在demo.html中找到,如<title>IconFont</title>
+ (UIImage *)imageWithIcon:(NSString *)iconCode inFont:(NSString *)fontName size:(CGFloat)size color:(UIColor *)color {
    CGSize imageSize = CGSizeMake(size, size);
    UIGraphicsBeginImageContextWithOptions(imageSize, NO, [[UIScreen mainScreen] scale]);
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, size + 150, size)];
    label.font = [UIFont fontWithName:fontName size:size];
    label.text = iconCode;
    if(color){
        label.textColor = color;
    }
    [label.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *retImage = UIGraphicsGetImageFromCurrentImageContext();
    return retImage;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,269评论 25 708
  • 在iOS项目中,一般对图片资源要求有@2x,@3x两套,以适配不同分辨率的设备。对于有换肤需求的APP来说,还需要...
    lingxuemy阅读 2,050评论 0 10
  • 本文摘要:本文是“教育中的自我反思”系列文章中的第一个问题:不能正确向孩子传达自己的想法。孩子的教育其实是自我的教...
    石头聊家庭教育阅读 888评论 3 6