使用FontAwesome

https://github.com/PrideChung/FontAwesomeKit

为什么要使用FontAwesome呢,其实,它的字体就是矢量图,无论是放大还是缩小都不失真的矢量图哦.

1. 下载源码,导入文件夹FontAwesomeKit,然后引入头文件FontAwesomeKit.h

2. 使用

    // 取得固定的icon以及设定尺寸FAKZocial *twitterIcon = [FAKZocial stackoverflowIconWithSize:50];// 设定相关的属性
    [twitterIcon addAttribute:NSForegroundColorAttributeNamevalue:[UIColor redColor]];// 在UILabel上显示UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];label.attributedText = [twitterIcon attributedString];[self.view addSubview:label];label.center = self.view.center;

使用是非常简单的哦,效果如下:

3. 高级应用

你以为就显示出来就没了么?非也,你想过把字体转换为路径么,转换为路径后就可以执行各种CoreAnimation的动画了呢:)

先来试一下CAshapeLayer的动画路径:

    // 取得固定的icon以及设定尺寸FAKZocial *twitterIcon = [FAKZocial chromeIconWithSize:100];// 设定相关的属性
    [twitterIcon addAttribute:NSForegroundColorAttributeNamevalue:[UIColor blackColor]];// 将icon转换为贝塞尔曲线UIBezierPath *path = [UIBezierPath pathFromAttributedString:[twitterIcon attributedString]];// 创建shapeLayerCAShapeLayer *shapeLayer = [CAShapeLayer layer];// 获取pathshapeLayer.path = path.CGPath;// 根据这个path来设定尺寸shapeLayer.bounds = CGPathGetBoundingBox(shapeLayer.path);// 几何反转shapeLayer.geometryFlipped = YES;// 一些颜色的填充shapeLayer.fillColor = [UIColor clearColor].CGColor;shapeLayer.strokeColor = [UIColor cyanColor].CGColor;// 设定layer位置shapeLayer.position = self.view.center;[self.view.layer addSublayer:shapeLayer];// 定时器动画_timer = [[GCDTimer alloc] initInQueue:[GCDQueue mainQueue]];[_timer event:^{shapeLayer.strokeEnd = arc4random()%100/100.f;} timeInterval:NSEC_PER_SEC];[_timer start];

    // 取得固定的icon以及设定尺寸FAKZocial *twitterIcon = [FAKZocial chromeIconWithSize:100];// 设定相关的属性
    [twitterIcon addAttribute:NSForegroundColorAttributeNamevalue:[UIColor blackColor]];// 将icon转换为贝塞尔曲线UIBezierPath *path = [UIBezierPath pathFromAttributedString:[twitterIcon attributedString]];// 创建shapeLayerCAShapeLayer *shapeLayer = [CAShapeLayer layer];// 获取pathshapeLayer.path = path.CGPath;// 根据这个path来设定尺寸shapeLayer.bounds = CGPathGetBoundingBox(shapeLayer.path);// 几何反转shapeLayer.geometryFlipped = YES;// 一些颜色的填充shapeLayer.fillColor = [UIColor blackColor].CGColor;shapeLayer.strokeColor = [UIColor clearColor].CGColor;shapeLayer.position = CGPointMake(50, 50);// 渐变颜色图层CAGradientLayer *colorLayer = [CAGradientLayer layer];colorLayer.bounds = CGRectMake(0, 0, 120, 120);colorLayer.mask = shapeLayer;colorLayer.colors = @[(id)[UIColor redColor].CGColor,(id)[UIColor greenColor].CGColor,(id)[UIColor yellowColor].CGColor];colorLayer.position = self.view.center;// 设定layer位置
    [self.view.layer addSublayer:colorLayer];// 定时器动画_timer = [[GCDTimer alloc] initInQueue:[GCDQueue mainQueue]];[_timer event:^{colorLayer.speed = 0.5;colorLayer.colors = @[(id)[UIColor colorWithRed:arc4random()%255/255.fgreen:arc4random()%255/255.fblue:arc4random()%255/255.falpha:1].CGColor,(id)[UIColor colorWithRed:arc4random()%255/255.fgreen:arc4random()%255/255.fblue:arc4random()%255/255.falpha:1].CGColor,(id)[UIColor colorWithRed:arc4random()%255/255.fgreen:arc4random()%255/255.fblue:arc4random()%255/255.falpha:1].CGColor,(id)[UIColor colorWithRed:arc4random()%255/255.fgreen:arc4random()%255/255.fblue:arc4random()%255/255.falpha:1].CGColor,(id)[UIColor colorWithRed:arc4random()%255/255.fgreen:arc4random()%255/255.fblue:arc4random()%255/255.falpha:1].CGColor];} timeInterval:NSEC_PER_SEC];[_timer start];

    // 取得固定的icon以及设定尺寸FAKZocial *twitterIcon = [FAKZocial chromeIconWithSize:100];// 设定相关的属性
    [twitterIcon addAttribute:NSForegroundColorAttributeNamevalue:[UIColor blackColor]];// 将icon转换为贝塞尔曲线UIBezierPath *path = [UIBezierPath pathFromAttributedString:[twitterIcon attributedString]];// 创建shapeLayerCAShapeLayer *shapeLayer = [CAShapeLayer layer];// 获取pathshapeLayer.path = path.CGPath;// 根据这个path来设定尺寸shapeLayer.bounds = CGPathGetBoundingBox(shapeLayer.path);// 几何反转shapeLayer.geometryFlipped = YES;// 一些颜色的填充shapeLayer.fillColor = [UIColor redColor].CGColor;shapeLayer.strokeColor = [UIColor clearColor].CGColor;shapeLayer.position = CGPointMake(50, 50);// 渐变颜色图层CAGradientLayer *colorLayer = [CAGradientLayer layer];colorLayer.bounds = CGRectMake(0, 0, 120, 120);colorLayer.mask = shapeLayer;colorLayer.colors = @[(id)[UIColor redColor].CGColor,(id)[UIColor greenColor].CGColor,(id)[UIColor yellowColor].CGColor];colorLayer.position = self.view.center;// 设定layer位置
    [self.view.layer addSublayer:colorLayer];// 旋转CABasicAnimation *basicAni = \[CABasicAnimationList animationWithRotationZFromValue:-2*M_PI_2 toValue:2*M_PI_2];basicAni.duration = 1.0f;basicAni.repeatCount = HUGE_VALF;[shapeLayer addAnimation:basicAni forKey:nil];// 定时器动画_timer = [[GCDTimer alloc] initInQueue:[GCDQueue mainQueue]];[_timer event:^{colorLayer.colors = @[(id)[UIColor colorWithRed:arc4random()%255/255.fgreen:arc4random()%255/255.fblue:arc4random()%255/255.falpha:1].CGColor,(id)[UIColor colorWithRed:arc4random()%255/255.fgreen:arc4random()%255/255.fblue:arc4random()%255/255.falpha:1].CGColor,(id)[UIColor colorWithRed:arc4random()%255/255.fgreen:arc4random()%255/255.fblue:arc4random()%255/255.falpha:1].CGColor,(id)[UIColor colorWithRed:arc4random()%255/255.fgreen:arc4random()%255/255.fblue:arc4random()%255/255.falpha:1].CGColor,(id)[UIColor colorWithRed:arc4random()%255/255.fgreen:arc4random()%255/255.fblue:arc4random()%255/255.falpha:1].CGColor];} timeInterval:NSEC_PER_SEC];[_timer start];

附录:

FAKFontAwesome *starIcon = [FAKFontAwesome asteriskIconWithSize:50];
    FAKFoundationIcons *bookmarkIcon = [FAKFoundationIcons bookmarkIconWithSize:15];
    FAKZocial *twitterIcon = [FAKZocial twitterIconWithSize:15];
    FAKIonIcons *mailIcon = [FAKIonIcons ios7EmailIconWithSize:48];

转载于:https://www.cnblogs.com/YouXianMing/p/3756495.html

使用FontAwesome相关推荐

  1. Bootstrap框架和inconfont、font-awesome使用

    Bootstrap框架和inconfont.font-awesome使用 iconfont的使用:https://www.cnblogs.com/clschao/articles/10387580.h ...

  2. [ExtJS5学习笔记]第五节 使用fontawesome给你的extjs5应用添加字体图标

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/38458411 本文作者:sushengmiyan ------------------ ...

  3. vue 使用font-awesome 只需两步

    npm 安装font-awesome 以及需要的所有依赖 cnpm install less less-loader css-loader style-loader file-loader font- ...

  4. 如何在AxureRP7中使用FontAwesome字体

    我们使用Axure制作原型时,经常会使用到各种小图标.有些朋友自己制作.有些到网上下载,然后使用截图导入到Axure中使用.这样做非常繁琐,有些朋友问Axure是否能够像图像处理工具那样便捷灵活滴使用 ...

  5. vue 使用font-awesome

    1.npm 安装font-awesome 以及需要的所有依赖 npm i --save @fortawesome/fontawesome-svg-core npm i --save @fortawes ...

  6. Vue 4.0——整合font-awesome解决方案

    基本概念 font-awesome:提供可缩放矢量图标,它可以被定制大小.颜色.阴影以及任何可以用CSS的样式. 官网:https://fontawesome.com/ 非官方中文网:http://w ...

  7. 一个简单易用的图标字体库和CSS框架fontawesome

    官网:https://fontawesome.dashgame.com/ 一个非常简单的例子: 新建一个html,粘贴如下代码: <html> <head> <link ...

  8. 学习WPF——使用Font-Awesome图标字体

    学习WPF--使用Font-Awesome图标字体 原文:学习WPF--使用Font-Awesome图标字体 图标字体介绍 在介绍图标字体之前,不得不介绍图标格式ICON ICON是一种图标格式,我们 ...

  9. 第八十四节,css布局小技巧及font-awesome图标使用

    css布局小技巧及font-awesome图标使用 图片鼠标放上去遮罩效果,显示文字 当鼠标放上去时 /*最外层div*/ .a{width: 384px;height: 240px;backgrou ...

  10. WPF 使用FontAwesome字体图标

    要搞点小软件,又不想使用图标和图标类库,突然想起FontAwesome,试了一下,还挺方便的,先弄了几个最常用的图标试一下,弄了几个按钮的样式,看一下效果: 看一下fontAwesome使用方法: 首 ...

最新文章

  1. pstools套件在渗透中的应用详解
  2. python pandas读取txt文件_python Pandas 读取txt表格的实例
  3. To 研究生,第一:做学位论文期间,不要有任何度假休息的打算;第二,导师错的时候不多;第三……...
  4. this java_Java this关键字详解
  5. 设计素材|C4D别高质量模型包
  6. python web框架哪个好_盘点:9款流行Web框架及其优缺点
  7. Git - 操作指南
  8. c语言2048代码linux,C语言实现2048小游戏(示例代码)
  9. CURL不能访问 但浏览器可以访问
  10. 2019中国基金业金融科技发展白皮书
  11. 伍楼阁使用的WordPress代码高亮插件使用说明
  12. uni-app加载中,加载结束
  13. 族谱程序php,族谱系统
  14. RocksDB源码学习-四-读-三
  15. 我奋斗了18年不是为了和你一起喝咖啡。
  16. 以太坊生态缺陷导致的一起亿级代币盗窃大案
  17. dispatch js实现_dva.js(and design)实现dispatch的回调函数
  18. 微信小程序开发一个简单的摇骰子游戏
  19. 虚拟机中新增磁盘空间并开机自动挂载
  20. Unity3D 实现背包系统

热门文章

  1. plaintextedit指定一行一行的高亮显示_LED显示器常见芯片的作用及原理,故障诊断维修...
  2. Vue笔记-vue3中.en.dev文件及axios.defaults.baseURL的使用
  3. Java笔记-spring-rabbitmq中queue设置argument(添加x-message-ttl)
  4. Spring Boot笔记-目前对Web后端开发的认识
  5. 反汇编基础-乘法与除法
  6. Qt文档阅读笔记-Widgets Tutorial官方解析及实例
  7. MySQL入门之数据库介绍及MySQL介绍
  8. python 字节码指令含义_python 字节码指令列表
  9. 谷歌android go 销量,谷歌Android Go进入尴尬期:目前仅十多个App专门适配
  10. linux上传挂载镜像文件,linux系统中挂载img镜像文件