大家在手机上长按删除程序的时候,app都会有一种抖动的效果,那么类似于这个抖动的效果在app里面的应用、实现,代码如下:
先贴出宏定义:
#define Angle2Radian(angle) ((angle) / 180.0 * M_PI)
- (IBAction)startShake:(id)sender {
CAKeyframeAnimation *anim = [CAKeyframeAnimation animation];
anim.keyPath = @"transform.rotation";
anim.values = @[@(Angle2Radian(-15)), @(Angle2Radian(15)), @(Angle2Radian(-15))];
anim.duration = 0.25;
anim.repeatCount = MAXFLOAT;
anim.removedOnCompletion = NO;
anim.fillMode = kCAFillModeForwards;
[self.iconView.layer addAnimation:anim forKey:@"shake"];
}
- (IBAction)stopShake:(id)sender {
[self.iconView.layer removeAnimationForKey:@"shake"];
}
具体效果,可以拷贝代码去测试一下,如果觉得抖动幅度不合适,可以修改宏定义。