IconFont,iOS图片匹配主题实现

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

生成iconfont

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

工程配置和demo

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

使用方法

添加一个UIImage的分类方法,

//设置字体图标
////fontName为字体名,可在demo.html中找到,如IconFont
+ (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;
}

你可能感兴趣的:(IconFont,iOS图片匹配主题实现)