[CAAnimation核心动画练习二]关键帧动画,实现抖动

#import "ViewController.h"

@interface ViewController ()
{
@private
    CALayer* _calyer;
}
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.img1.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
    self.img2.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
    [self.view addSubview:self.img1];
    
    _calyer=[CALayer layer];
    _calyer.backgroundColor=[UIColor brownColor].CGColor;
    _calyer.bounds=CGRectMake(0, 0, 150, 100);
    _calyer.position=CGPointMake(0, 0);
    _calyer.anchorPoint=CGPointZero;
    _calyer.cornerRadius=20;
    [self.view.layer addSublayer:_calyer];
}
    //关键帧动画,加入后,旋转动画没有效果了。~
    #define angle2Radian(angle)  ((angle)/180.0*M_PI)
    CAKeyframeAnimation* caKeyFrame = [CAKeyframeAnimation animation];
    caKeyFrame.keyPath = @"transform.rotation";
    caKeyFrame.duration = 0.5;
    caKeyFrame.values = @[@(-angle2Radian(4)),@(angle2Radian(4)),@(-angle2Radian(4))];
    caKeyFrame.repeatCount = MAXFLOAT;
    caKeyFrame.fillMode = kCAFillModeBackwards;
    caKeyFrame.removedOnCompletion = NO;
    [_calyer addAnimation:caKeyFrame forKey:nil];
参考:http://www.cnblogs.com/wendingding/p/3801330.html

你可能感兴趣的:(动画,关键帧)