设定动画CABasicAnimation的属性和说明
| 属性 | 说明 |
|---|---|
| duration | 动画的时间 |
| repeatCount | 重复的次数。不停重复设置为 HUGE_VALF |
| repeatDuration | 设置动画的时间。 |
| beginTime | 指定动画开始的时间。从开始延迟几秒的话,设置为【CACurrentMediaTime() + 秒数】 的方式 |
| timingFunction | 设置动画的速度变化 |
| autoreverses | 动画结束时是否执行逆动画 |
| fromValue | 所改变属性的起始值 |
| toValue | 所改变属性的结束时的值 |
| byValue | 所改变属性相同起始值的改变量 |
动画结束后停在最后位置状态的解决方法
animation.fillMode = kCAFillModeForwards;
1.移动动画
animation.beginTime =CACurrentMediaTime() + 1;// 1秒后执行
animation.fromValue = [NSValue valueWithCGPoint:myView.layer.position]; // 起始帧
animation.toValue = [NSValue valueWithCGPoint:CGPointMake(300, 300)]; // 终了帧
// 视图添加动画
[View.layer addAnimation:animation forKey:@"move-layer"];
2.旋转动画
animation.duration = 2;
animation.repeatCount = 2;
animation.beginTime = CACurrentMediaTime() + 1; //
1秒后执行
animation.fromValue = [NSNumber numberWithFloat:0.0]; // 起始角度
animation.toValue = [NSNumber numberWithFloat:M_PI]; // 终止角度
[View.layer addAnimation:animation forKey:@"rotate-layer"];
3.缩放动画
[myView.layer addAnimation:animation forKey:@"scale-layer"];
4.渐隐动画
//opacity 指layer的透明度
CABasicAnimation *basicAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
basicAnimation.fromValue = @(1.0);
basicAnimation.toValue = @(0.0);//[NSNumber numberWithFloat:0.0]
basicAnimation.duration = 1.5;
[self.myView.layer addAnimation:basicAnimation forKey:@"op"];
CABasicAnimation详解
本文详细介绍了如何使用CABasicAnimation实现移动、旋转、缩放和渐隐等常见动画效果,并提供了具体示例代码,同时讲解了如何设置动画属性及组合动画的方法。
663

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



