代码
CABasicAnimation *anima = [CABasicAnimation animationWithKeyPath:@"transform.scale"];//同上
anima.toValue = [NSNumber numberWithFloat:0];
anima.duration = 1;
anima.delegate = self;
//以下两行代码是为了动画执行完毕后不会恢复原状
anima.fillMode=kCAFillModeForwards;
anima.removedOnCompletion = false;
//redView是要执行动画的view此处的key是随便写的,与其他动画区别开来
[self.redView.layer addAnimation:anima forKey:@"scaleAnimation"];
代理方法动画执行完毕调用
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag{
if (flag) {
[self.redView removeFromSuperview];
self.redView = nil;
NSLog(@"%zd行 %s",__LINE__,__func__);
}
}
KeyPath有一下几种
keypath |
说明 |
rotation.x |
绕x轴旋转 |
rotation.y |
绕y轴 |
rotation.z |
绕z轴 |
rotation |
中心点旋转 |
scale.x |
x轴缩放 |
scale.y |
y轴缩放 |
scale.z |
z轴缩放 |
scale |
中心点缩放 |
translation.x |
x轴移动动画 |
translation.y |
y轴移动动画 |
translation.z |
z轴移动动画 |
translation |
中心点动画 |