【iOS开发-动画】CAKeyframeAnimation创建动画

本文介绍如何使用Core Animation中的CAKeyframeAnimation来实现iOS视图沿着指定路径移动的动画效果,包括沿直线和曲线路径移动的具体实现。

CAKeyframeAnimation可以按照几个点的组成的路径移动

按照一个路径移动

CAKeyframeAnimation *anim = [CAKeyframeAnimation animation];

anim.keyPath = @"position";
//设置四个点    
NSValue *value1 = [NSValue valueWithCGPoint:CGPointMake(0, 0)];
NSValue *value2 = [NSValue valueWithCGPoint:CGPointMake(100, 0)];
NSValue *value3 = [NSValue valueWithCGPoint:CGPointMake(100, 100)];
NSValue *value4 = [NSValue valueWithCGPoint:CGPointMake(0, 100)];

//把点添加到数组里面    
anim.values = @[value1, value2, value3, value4];

anim.duration = 2.0;

[self.testView.layer addAnimation:anim forKey:nil];
CAKeyframeAnimation *anim = [CAKeyframeAnimation animation];

anim.keyPath = @"position";
anim.removedOnCompletion = NO;
anim.fillMode = kCAFillModeForwards;
anim.duration = 2.0;

 //创建一个圆的路径
CGMutablePathRef path = CGPathCreateMutable();
CGPathAddEllipseInRect(path, NULL, CGRectMake(100, 100, 200, 200));
anim.path = path;//把圆的路径赋值给动画的路径
CGPathRelease(path);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值