简单彩虹动画的效果实现
简单彩虹动画的效果实现
我们先看下最后的效果图
1、首先我们使用UIBezierPath类画一个圆弧,使用方法
+ (instancetype)bezierPathWithArcCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise;
center 圆弧的位置
radius 圆弧的弧度
startAngle 开始的地方
endAngle 结束的地方
2、使用CAShapeLayer类给圆弧一个基础层
_progressLayer = [CAShapeLayer layer];//创建_progressLayer.frame = self.bounds;//位置_progressLayer.fillColor = [[UIColor clearColor] CGColor];//填充颜色_progressLayer.strokeColor=[UIColor redColor].CGColor;//弧形颜色_progressLayer.lineCap = kCALineCapRound;_progressLayer.lineWidth = PROGRESS_LINE_WIDTH;
3、使用CAGradientLayer类做一个彩虹颜色渐变的效果填充到上面
CAGradientLayer *gradient = [CAGradientLayer layer];//创建对象gradient.frame = _progressLayer.frame;[gradient setColors:[NSArray arrayWithObjects:(id)[[UIColor redColor] CGColor],(id)[[UIColor yellowColor] CGColor],(id)[[UIColor redColor] CGColor],(id)[[UIColor yellowColor] CGColor],(id)[[UIColor blueColor] CGColor],(id)[[UIColor redColor] CGColor], nil]];//设置颜色[gradient setLocations:@[@0,@0.3,@0.5,@0.6,@0.8,@1]];//每种颜色最后的位置[gradient setStartPoint:CGPointMake(0, 0)];//起始点[gradient setEndPoint:CGPointMake(1, 0)];//结束点[gradient setMask:_progressLayer];//截取圆弧[self.layer addSublayer:gradient];//添加
做到这里就差不多完了。。。
再做一个动画的效果吧
4、动画我使用的是CABasicAnimation类
CABasicAnimation *animation=[CABasicAnimation animationWithKeyPath:@"strokeEnd"];animation.duration = 2;animation.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];animation.fromValue=[NSNumber numberWithFloat:0.0f];animation.toValue=[NSNumber numberWithFloat:1.0f];animation.autoreverses=NO;_progressLayer.path=path.CGPath;[_progressLayer addAnimation:animation forKey:@"strokeEndAnimation"];
这样的话就达到了开始的图片的效果了,
写得不好的地方希望大神指点。
简单彩虹动画的效果实现相关推荐
- python制作简单动画_把数据摇起来!用Python制作动画可视化效果!
Python 中有很多不错的数据可视化库,但是极少能渲染 GIF 图或视频动画效果.本文就分享一下如何用 MoviePy 作为其他可视化库的通用插件,制作动画可视化效果,毕竟这年头,没图不行,有动图更 ...
- 【前端实例代码】Html5+css3创建拟物风格昏昏欲睡的云朵动画网页效果~前端开发网页设计基础入门教程~适合初学者~超简单~
b站视频演示效果: [前端实例代码]Html5+css3创建拟物风格昏昏欲睡的云朵动画网页效果!前端开发网页设计基础入门教程!适合初学者~超简单~ 效果图: 完整代码: <!DOCTYPE ht ...
- html 语言 gif 动画,动效篇(1)--从简单CSS3动画片段代码,到生成gif动图~
简单css动画片段代码(最终效果 ) (一)请自行下载安装Dreamweaver 在Dreamweaver编写代码(如需参考请复制下列代码) (二)HTML CSS代码详解css代码(/*详解*/) ...
- iOS开发UI篇—iOS开发中三种简单的动画设置
[在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要"参与到"动画中 [UIView beginAnimations: ...
- Qt基于QGraphicsObject自定义图元并实现简单的动画
文章目录 Qt基于QGraphicsObject自定义图元并实现简单的动画 举例; Qt基于QGraphicsObject自定义图元并实现简单的动画 Qt 图形的绘制 可以是QPainter方法直接绘 ...
- 简单的动画函数封装(2)
<div></div><!-- <span></span> --><button class="btn1"> ...
- 简单的动画函数封装(1)
//创建简单的动画函数封装效果(目标对象,目标位置) function animate(obj,target){var id = setInterval(function(){if(obj.offse ...
- javafx 动画没效果_通过JavaFX标注制作动画效果
javafx 动画没效果 在本文中,您将学习如何使用JavaFX的动画API创建标注. 您可以在https://www.youtube.com/watch?v=XTHbB0LRdT4的 YouTube ...
- c# 为你的Form实现动画的效果
在WPF中可以很方便的实现动画的效果,而在普通的WinForm程序里实现却有点麻烦,这里我用一种模拟的方式来实现WinForm有关的动画 回忆一下在WPF中动画效果的实现,首先创建一个故事板 Stor ...
- 3.15 study 简单移动动画js实现
首先老规矩汇报学习进度129/167 为什么这么慢呢是我偷偷停工了好几天有些迷茫(就是在玩去了),然后其实昨天也看了一点但太少了就没写博客,然后看一下今天的效果 一个滑块移动的案例 想用gif动图好像 ...
最新文章
- Android类库打包方法探究
- 大白话系列之C#委托与事件讲解(一)
- 从 LRU Cache 带你看面试的本质
- 认知学习法-学习笔记
- 查询三个月前的所有数据的sql语句
- 幽灵交易策略_幽灵交易者策略(附源代码)
- 8 Regular Expressions You Should Know
- 资深架构专家讲解微服务治理的架构演进
- linux下make 文件写法之简单函数调用
- Qt中采用多线程实现Socket编程
- chrome调式工具
- IT界那些性感的让人尖叫的程序员
- QQ在线客服聊天功能
- 网站的权重怎么计算以及网站降权的分析处理方法
- 安卓系统AOSP源码修改入门
- 中国版权力的游戏构思
- P4850 [IOI2009]葡萄干raisins 记忆化搜索
- python将数据导出为csv文件时,出现PermissionError: [Errno 13] Permission denied:问题
- C语言如何打开txt文件
- 显示器接服务器后黑屏,笔记本外接显示器黑屏怎么修复_笔记本外接显示器后黑屏的处理方法...