以下方法在自定义view的类里面实现,可放在自定义函数中自行控制触法。也可放在drawRect或layoutSubviews里面让view在显 示时触法。但推荐放在自定义view中触发,因为这样才可以做到自行控制,并保证同时只有一个在运行,否则会因为view的改变导致重绘,导致同时执行多 个相同的动画,会影响效果和耗费内存。
让view对象沿指定的路径进行动画的方法:
CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
//在动画设置一些变量
pathAnimation.calculationMode = kCAAnimationPaced;
//我们希望动画持续
//如果我们动画从左到右的东西——我们想要呆在新位置,
//然后我们需要这些参数
pathAnimation.fillMode = kCAFillModeForwards;
pathAnimation.removedOnCompletion = NO;
pathAnimation.duration = 10;//完成动画的时间
//让循环连续演示
pathAnimation.repeatCount = 10;
//设置的路径动画
CGMutablePathRef curvedPath = CGPathCreateMutable();
CGPathMoveToPoint(curvedPath, NULL, 10, 10);//起始位置
CGPathAddQuadCurveToPoint(curved