核心动画 (CAAnimationGroup)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了核心动画 (CAAnimationGroup)相关的知识,希望对你有一定的参考价值。

Main.storyboard

技术分享

ViewController.m

//

//  ViewController.m

//  8A05.核心动画 CAAnimationGroup

//

//  Created by huan on 16/2/5.

//  Copyright © 2016 huanxi. All rights reserved.

//

 

#import "ViewController.h"

 

@interface ViewController ()

@property (weak, nonatomic) IBOutlet UIImageView *imageView;

 

@end

 

@implementation ViewController

 

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    

    

}

 

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

    //有一张图片,同时可以平移、旋转、缩放的效果

    //实现这个效果 使用组动画【CAAnimatonGroup

    //组动画怎么使用

    

    //1.创建对象

    CAAnimationGroup *group = [CAAnimationGroup animation];

    

    //2.往里面添加多个动画

    //2.1 平移动画

    CABasicAnimation *positionAni = [CABasicAnimation animation];

    positionAni.keyPath = @"position";

    positionAni.toValue = [NSValue valueWithCGPoint:CGPointMake(250, 250)];

    //2.2 旋转动画

    CABasicAnimation *rotationAni = [CABasicAnimation animation];

    rotationAni.keyPath = @"transform.rotation";

    rotationAni.toValue = @(M_PI_2);

    

    //2.3 缩放的效果

    CABasicAnimation *scaleAni = [CABasicAnimation animation];

    scaleAni.keyPath = @"transform.scale";

    scaleAni.toValue = @(0.5);

    

    group.duration = 3;

    group.animations = @[positionAni, rotationAni, scaleAni];

    //3.把组动画添加到图层上

    [self.imageView.layer addAnimation:group forKey:nil];

}

@end

以上是关于核心动画 (CAAnimationGroup)的主要内容,如果未能解决你的问题,请参考以下文章

CAAnimationGroup 与 CAKeyframeAnimation 的优缺点

iOS小技能:核心动画(CoreAnimation)

iOS小技能:核心动画(CoreAnimation)

iOS_40_核心动画

iOS 旋转动画在 CAAnimationGroup 中发生不顺畅

当 CAAnimationGroup 的执行完成时,它会回到初始动画序列,并带有抽搐效果