Swift - 使用CAKeyframeAnimation实现关键帧动画
1,CAKeyframeAnimation介绍
3,可以设置动画代理,监听开始和结束动作
CAKeyframeAnimation可以实现关键帧动画,这个类可以实现某一属性按照一串的数值进行动画,就像是一帧一帧的制作出来一样。
2,使用样例(设置五个关键点坐标,图片依次按关键点移动)
let animation = CAKeyframeAnimation(keyPath: "position") //设置5个位置点 let p1 = CGPointMake(0.0, 0.0) let p2 = CGPointMake(300, 0.0) let p3 = CGPointMake(0.0, 400) let p4 = CGPointMake(300, 400) let p5 = CGPointMake(150, 200) //赋值 animation.values = [NSValue(CGPoint: p1), NSValue(CGPoint: p2), NSValue(CGPoint: p3), NSValue(CGPoint: p4), NSValue(CGPoint: p5)] //每个动作的时间百分比 animation.keyTimes = [NSNumber(float: 0.0), NSNumber(float: 0.4), NSNumber(float: 0.6), NSNumber(float: 0.8), NSNumber(float: 1.0), ] animation.delegate = self animation.duration = 6.0 self.imageView.layer.addAnimation(animation, forKey: "Image-Move")
3,可以设置动画代理,监听开始和结束动作
animation.delegate = self override func animationDidStart(anim: CAAnimation!) { println("动画开始") } override func animationDidStop(anim: CAAnimation!, finished flag: Bool) { println("动画结束") }