//
//  ShakeAnimation.m
//  TTAnimationExample
//
//  Created by titengjiang on 16/1/18.
//  Copyright 漏 2016骞?sloop. All rights reserved.
//

#import "ShakeAnimation.h"

@implementation ShakeAnimation

-(void)start
{
    NSArray<NSNumber *> *keyTimes =  @[@0,@0.1,@0.2,@0.3,@0.4,@0.5,@0.6,@0.7,@0.8,@0.9,@1];
    CAKeyframeAnimation * transformAnimation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
    transformAnimation.keyTimes = keyTimes;
    
    CATransform3D originTransform = _targetView.layer.transform;
    
    NSValue * zeroTranslateValue = [NSValue valueWithCATransform3D:CATransform3DTranslate(originTransform, 0, 0, 0)];
    NSValue * leftTranslateValue = [NSValue valueWithCATransform3D:CATransform3DTranslate(originTransform, -10, 0, 0)];
    NSValue * rightTranslateValue =[NSValue valueWithCATransform3D: CATransform3DTranslate(originTransform, 10, 0, 0)];
    
    transformAnimation.values = @[zeroTranslateValue,
                                  leftTranslateValue,
                                  rightTranslateValue,
                                  leftTranslateValue,
                                  rightTranslateValue,
                                  leftTranslateValue,
                                  rightTranslateValue,
                                  leftTranslateValue,
                                  rightTranslateValue,
                                  zeroTranslateValue
                                  ];
    
    
    CAAnimationGroup * animationGroup = [[CAAnimationGroup alloc] init];
    animationGroup.animations = @[transformAnimation];
    animationGroup.delegate= self;
    animationGroup.duration = _params.duration;
    [_targetView.layer addAnimation:animationGroup forKey:@""];
    
}

@end
// 鐗堟潈灞炰簬鍘熶綔鑰?// http://code4app.com (cn) http://code4app.net (en)
// 鍙戝竷浠g爜浜庢渶涓撲笟鐨勬簮鐮佸垎浜綉绔? Code4App.com