iOS CAAnimationGroup 动画组

- (void)viewDidLoad {

    [super viewDidLoad];

    _imageView = [[UIImageView alloc] initWithFrame:CGRectMake(90, 90, 90, 90)];

    _imageView.image= [UIImageimageNamed:@"joy.jpg"];

    [self.view  addSubview:_imageView];

}

- (void)touchesBegan:(NSSet *)toucheswithEvent:(UIEvent*)event{


    CGPointpoint = [[touchesanyObject]locationInView:self.view];


  CAKeyframeAnimation*animation1 =  [selfgetAniamtion1];


  CAKeyframeAnimation*animation2 =  [selfgetAnimation2:point];


    CAAnimationGroup *animationGroup = [CAAnimationGroup animation];


    animationGroup.animations=@[animation1,animation2];


    animationGroup.duration=3;


    animationGroup.repeatCount=MAXFLOAT;


    //加速方式: 匀速:kCAMediaTimingFunctionLinear

    animationGroup.timingFunction = [CAMediaTimingFunction  functionWithName:  kCAMediaTimingFunctionLinear];


    [_imageView.layer  addAnimation:animationGroupforKey:nil];


}

//获取抖动动画

-(CAKeyframeAnimation *)getAniamtion1{


    CAKeyframeAnimation *keyFrameAnimation = [CAKeyframeAnimation animationWithKeyPath:@"transform.rotation.z"];


    keyFrameAnimation.duration=3;

    keyFrameAnimation.repeatCount=MAXFLOAT;

//    keyFrameAnimation.autoreverses = YES;


    CGFloat  angle  =  M_PI*2;


//    keyFrameAnimation.values = @[@(angle),@(-angle) ];


 keyFrameAnimation.values=@[@(angle),@0];


    [_imageView.layer  addAnimation:keyFrameAnimationforKey:nil];


    return  keyFrameAnimation;

}

-(CAKeyframeAnimation *)getAnimation2:(CGPoint )point{


    CAKeyframeAnimation *keyFrameAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];


    CGMutablePathRef path = CGPathCreateMutable();


    CGFloatw = point.x-_imageView.center.x;


    CGFloath = point.y-_imageView.center.y;


    CGRect  rect =CGRectMake(_imageView.center.x,_imageView.center.y, w, h);


    CGPathAddRect(path,NULL, rect);


    keyFrameAnimation.path= path;


    keyFrameAnimation.duration=3;





    returnkeyFrameAnimation;

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容