核心动画03-图标抖动.mp4

需要的效果;平时长按图标删除的时候,会有抖动的效果,循环的执行抖动的效果,使用CAKeyframeAnimation动画

//角度转弧度
#define Angle2Radian(angle) ((angle) /180.0 * M_PI)
//只要是view的子类都可以执行动画
@property (weak, nonatomic) IBOutlet UIImageView *iconView;


#pragma make - 点击按钮执行抖动效果
- (IBAction)start:(id)sender {
    //平时长按图标删除的时候,会有抖动的效果,循环的执行抖动的效果
    CAKeyframeAnimation *anim = [CAKeyframeAnimation animation];
    anim.keyPath = @"transform.rotation";
    
    anim.values = @[@(Angle2Radian(-5)),@(Angle2Radian(5)),@(Angle2Radian(-5))];
    anim.duration = 0.25;
    anim.repeatCount = MAXFLOAT; //循环执行的次数
    
    anim.removedOnCompletion = NO;
    anim.fillMode = kCAFillModeForwards;
    
    [self.iconView.layer addAnimation:anim forKey:@"stoke"];//forKey主要作用就是在标识animation,在removeAnimationForKey删除动画的时候使用
    
}
#pragma make - 点击按钮停止抖动效果
- (IBAction)stop:(id)sender {
    [self.iconView.layer removeAnimationForKey:@"stoke"];
}

 

posted on 2015-05-15 00:59  快乐加油站789  阅读(174)  评论(0编辑  收藏  举报

导航