说说可以创建对象的类 CABasicAnimation
,基本动画,是CAPropertyAnimation的子类
属性说明
- fromValue:keyPath相应属性的初始值
- toValue:keyPath相应属性的结束值
动画过程说明
随着动画的进行,在长度为duration的持续时间内,keyPath相应属性的值从fromValue渐渐地变为toValue
keyPath内容是CALayer的可动画Animatable属性
如果fillMode=kCAFillModeForwards同时removedOnComletion=NO,那么在动画执行完毕后,图层会保持显示动画执行后的状态。但在实质上,图层的属性值还是动画执行前的初始值,并没有真正被改变。
示例演示
缩放效果
平移效果
- 核心代码
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
//创建动画
CABasicAnimation * anim = [CABasicAnimation animation];
//描述产生哪个效果
//•移动
// anim.keyPath = @"position";
// anim.toValue = [NSValue valueWithCGPoint:CGPointMake(200, 500)];
//•缩放
anim.keyPath = @"transform.scale";
anim.toValue = @0.8;
//设置动画执行次数
anim.repeatCount = MAXFLOAT;
//设置动画执行速度
anim.speed = 0.3;
//取消动画反弹
anim.removedOnCompletion = NO;
//设置动画执行完成后保持最新的效果
anim.fillMode = kCAFillModeForwards;
[_imageView.layer addAnimation:anim forKey:nil];
}