美文网首页
iOS 体积压缩之字体图标使用

iOS 体积压缩之字体图标使用

作者: 弹吉他的少年 | 来源:发表于2021-03-28 21:33 被阅读0次

前言

正常我们看到一个图标不外乎这三种情况,
1、使用icon图片
2、贝塞尔曲线绘制
3、图标字体

  • 此文就是介绍将图标转化为字体,从而达到减小应用体积的目的

字体库生成

字体库生成阿里矢量图标库这上面提供了很多素材字体库

大致操作步骤如下,选择心仪的图标然后下载至本地


image

然后下载到本地,可以看到这些文件,其中的ttf文件就是我们需要的字体库


image

至于更多更加精美的图标这个就是UI设计师的工作,我们只需要知道怎么使用即可...

基本使用

1、将字体库添加在Copy Bundle Resources

image

2、添加到info.plist

在info.plist当中添加Fonts provided by application,然后在里面添加字体库

image

3、查询图标对应编码

方式一、打开刚刚下载到本地的文件iconfont.css,里面就可以看见对应图标的编码

image

方式二、在字体库下载处查看

可以看到里面的e697就是我们所需要的编码

image

4、实战使用

正常的当成字符串使用即可,显示\U0000e82b里面的e82b对应图标编码

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
label.center = CGPointMake(self.view.frame.size.width/2, 500);
label.textAlignment = NSTextAlignmentCenter;
label.backgroundColor = [UIColor.greenColor colorWithAlphaComponent:0.5];
label.textColor = UIColor.blueColor;
label.font = [UIFont fontWithName:@"iconfont" size:50];
label.text = @"\U0000e82b";
[self.view addSubview:label];
image

到此基本图标使用就已经完成,

  • 缺点也很明显,只适用于纯色的图标
  • 优点更加明显,
1、避免@2X图和@3X图
2、随意改变大小不会像图标会出现锯齿失真情况
3、随心所欲改变颜色
4、等等等有待你的发现...

更好玩的扩展,设置渐变色图标

生成一个横向彩虹渐变色,然后设置textColor

UIColor *color = [self kj_gradientColor:UIColor.redColor,UIColor.orangeColor,UIColor.yellowColor,UIColor.greenColor,UIColor.cyanColor,UIColor.blueColor,UIColor.purpleColor,nil](CGSizeMake(label.frame.size.width, 1));
label.textColor = color;
image

生成渐变色代码直接附上

- (UIColor*(^)(CGSize))kj_gradientColor:(UIColor*)color,...{
    NSMutableArray * colors = [NSMutableArray arrayWithObjects:(id)color.CGColor,nil];
    va_list args;UIColor * arg;
    va_start(args, color);
    while ((arg = va_arg(args, UIColor *))) {
        [colors addObject:(id)arg.CGColor];
    }
    va_end(args);
    return ^UIColor*(CGSize size){
        UIGraphicsBeginImageContextWithOptions(size, NO, [UIScreen mainScreen].scale);
        CGContextRef context = UIGraphicsGetCurrentContext();
        CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();
        CGGradientRef gradient = CGGradientCreateWithColors(colorspace, (__bridge CFArrayRef)colors, NULL);
        CGContextDrawLinearGradient(context, gradient, CGPointZero, CGPointMake(size.width, size.height), 0);
        UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
        CGGradientRelease(gradient);
        CGColorSpaceRelease(colorspace);
        UIGraphicsEndImageContext();
        return [UIColor colorWithPatternImage:image];
    };
}

体积压缩之字体图标使用介绍就到此完毕,后面有相关再补充,写文章不容易,还请点个小星星传送门

相关文章

  • iOS 体积压缩之字体图标使用

    前言 正常我们看到一个图标不外乎这三种情况,1、使用icon图片2、贝塞尔曲线绘制3、图标字体 此文就是介绍将图标...

  • iOS使用带字体图标的UIButton(支持各种方向)

    iOS使用带字体图标的UIButton(支持各种方向) iOS使用带字体图标的UIButton(支持各种方向)

  • UI工具网站

    1.阿里巴巴图标库2.压缩图片TinyPNG3.iOS 字体

  • iOS中使用iconfont

    写在前面 iconfont技术是将图标(icon)转换为字体(font),在iOS开发中可以减少App的体积。这里...

  • Bootstrap布局组件——字体图标

    Bootstrap 字体图标(Glyphicons) 字体图标是在 Web 项目中使用的图标字体。字体图标用于显示...

  • 如何使用字体图标

    字体图标:用字体文件取代图片文件,来展示图标、特殊字体等元素的方法[1]优点: 加载文件体积小、风格统一、可以通过...

  • 字体图标

    9字体图标 1. 字体图标优点 2. 字体图标使用流程 总体来说,字体图标按照如下流程: 3. 设计字体图标...

  • 01-字体图标配置和使用

    一、什么叫做字体图标? 可以像使用字体一样使用图标 一般辨别是否是字体图标主要是看图标是否是纯色 二、字体图标有那...

  • Bootstrap 布局组件

    Bootstrap 字体图标(Glyphicons) 字体图标是在 Web 项目中使用的图标字体。虽然,Glyph...

  • 阿里的字体库—iconfont

    阿里字体图标库介绍及图标字体的使用方法 这篇文章只讲阿里字体图标库的使用,暂不讲图标制作,阿里矢量图标库上的字体图...

网友评论

      本文标题:iOS 体积压缩之字体图标使用

      本文链接:https://www.haomeiwen.com/subject/fdkrfltx.html