给View添加一个运动轨迹


//CG开头的arc不会管理内存,当遇到create,retain,copy

//创建一个path

CGMutablePathRef path = CGPathCreateMutable();

//添加一个炬形的路径

CGPathAddRect(path, NULL, CGRectMake(0, 0, 200, 200));

//CGPathAddRect(path, NULL, CGRectMake(100, 100, 200, 200));

//创建关键帧

CAKeyframeAnimation *keyframeAni = [CAKeyframeAnimation animationWithKeyPath:@"position"];

//设置path

keyframeAni.path = path;

//设置动画时间

keyframeAni.duration = 5;

// calculationMode 是控制关键帧动画时间的另一种方法。我们通过将其设置为 kCAAnimationPaced,让 Core Animation 向被驱动的对象施加一个恒定速度,不管路径的各个线段有多长。

keyframeAni.calculationMode = kCAAnimationPaced;

//重复次数

keyframeAni.repeatCount = MAXFLOAT;

[self.redView.layer addAnimation:keyframeAni forKey:nil];

//释放

CGPathRelease(path);

你可能感兴趣的:(给View添加一个运动轨迹)