准备工作:拖一个UIView,来让它实现下面的动画
// 创建动画
CABasicAnimation *anim = [CABasicAnimation animation];
// 要修改哪个属性产生动画
anim.keyPath = @"position"; //position 位置
// 设置值
anim.toValue = [NSValue valueWithCGPoint:CGPointMake(250, 250)];
[_redView.layer addAnimation:anim forKey:nil];上面动画完成之后回到原先位置,这不是我们想要的效果,我们需要动画完成之后保存在最新的位置:
// 创建动画
CABasicAnimation *anim = [CABasicAnimation animation];
// 要修改哪个属性产生动画
anim.keyPath = @"position"; //position 位置
// 设置值
anim.toValue = [NSValue valueWithCGPoint:CGPointMake(250, 250)];
// 动画完成保持在最新的位置,必须写下面2行代码
anim.removedOnCompletion = NO;
anim.fillMode = kCAFillModeForwards;
[_redView.layer addAnimation:anim forKey:nil];二、缩放效果
// 创建动画
CABasicAnimation *anim = [CABasicAnimation animation];
// 要修改哪个属性产生动画
anim.keyPath = @"transform.scale";
// 设置值
anim.toValue = @0.8;
// 设置动画执行的次数
anim.repeatCount = MAXFLOAT;
// 设置动画的时长
anim.duration = 1;
// 动画完成保持在最新的位置,必须写下面2行代码
anim.removedOnCompletion = NO;
anim.fillMode = kCAFillModeForwards;
[_redView.layer addAnimation:anim forKey:nil];
本文通过具体的UIKit实例演示了如何使用CABasicAnimation实现UIView的位置移动及缩放动画效果,并详细介绍了如何让动画结束后停留在最终状态。
593

被折叠的 条评论
为什么被折叠?



