博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS Animation-CAKeyframeAnimation例子(简单动画实现)
阅读量:6757 次
发布时间:2019-06-26

本文共 1528 字,大约阅读时间需要 5 分钟。

在阅读本文之前,可以看看

也可以看看

 

1)让一个layer左右晃动

1     //让一个layer左右晃动 2     func addLayerKeyframeAnimationRock(layer:CALayer) { 3         let animation = CAKeyframeAnimation(keyPath: "position.x") 4         animation.values = [0, 10, -10, 0] 5         //additive设置为true是使Core Animation 在更新 presentation layer 之前将动画的值添加到 model layer 中去。可以看到上面的values是0,10,-10,0. 没有设置的话values=layer.position.x+0, layer.position.x+10, layer.position.x-10 6         animation.additive = true 7         animation.duration = 0.3 8         animation.repeatCount = 999999 9         10         layer.addAnimation(animation, forKey: "addLayerKeyframeAnimationRock")11     }

 

2)让一个layer圆周(圆圈)运动

1     //让一个layer圆周(圆圈)运动 2     func addLayerKeyframeAnimationOrbit(layer:CALayer) { 3         let animation = CAKeyframeAnimation(keyPath: "position") 4         let boundingRect = CGRectMake(layer.frame.origin.x, layer.frame.origin.y, 100, 100) 5         animation.path = CGPathCreateWithEllipseInRect(boundingRect,nil) 6         animation.duration = 3 7         animation.repeatCount = HUGE 8         //其值为kCAAnimationPaced,保证动画向被驱动的对象施加一个恒定速度,不管路径的各个线段有多长,并且无视我们已经设置的keyTimes 9         animation.calculationMode = kCAAnimationPaced10         //kCAAnimationRotateAuto,确定其沿着路径旋转(具体要自己来体验,这里难解释)11         animation.rotationMode = kCAAnimationRotateAuto12         13         layer.addAnimation(animation, forKey: "addLayerKeyframeAnimationOrbit")14     }

 

可以关注本人的公众号,多年经验的原创文章共享给大家。

posted on
2016-04-10 23:32 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/alunchen/p/5376529.html

你可能感兴趣的文章
Android Training Caching Bitmaps 翻译
查看>>
SpringMVC (五)视图解析器
查看>>
微信开发
查看>>
P3165 [CQOI2014]排序机械臂
查看>>
拉格朗日反演
查看>>
交通流量
查看>>
BZOJ3331 BZOJ2013 压力
查看>>
运算符
查看>>
ListView 里面嵌套 GridView 遇到的问题及其解决方法。
查看>>
Python2、3解释器inpurt()函数的区别
查看>>
push to origin/master was rejected错误解决方案(IDEA)
查看>>
Eclipse 遇到的问题和快捷键记录
查看>>
触底判断
查看>>
C#进阶之路(八)集合的应用
查看>>
dos 命令
查看>>
bzoj3039
查看>>
java空和非空判断
查看>>
Linux系统时间的设置
查看>>
position:fixed失效情况
查看>>
丢了好几天没写,只因在做个小项目吗
查看>>