码迷,mamicode.com
首页 > 其他好文 > 详细

Object-C 里面的animation动画效果,核心动画

时间:2016-05-13 11:35:23      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:

#import "CoreAnimationViewController.h"

@interface CoreAnimationViewController ()
@property(nonatomic, strong)UIView *myView;

@end

@implementation CoreAnimationViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];
    
    self.myView = [[UIView alloc ] initWithFrame:CGRectMake(100, 100, 100, 100)];
    self.myView.backgroundColor = [UIColor cyanColor];
    [self.view addSubview:_myView];
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

//用于进行旋转的

CABasicAnimation *base = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];

 //设置持续时间
    base.duration = 1;
    //瞬时针旋转从**到**
    base.fromValue = @0;
  base.toValue = @(M_PI_2);
[self.myView.layer addAnimation:base forKey:@"base"];

}

 

 

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
 //用于一系列的颜色变化

    CAKeyframeAnimation *color = [CAKeyframeAnimation animationWithKeyPath:@"backgroundColor"];
    color.duration = 10;
    id k1 = (id)[UIColor blueColor].CGColor;
id k2 = (id)[UIColor cyanColor].CGColor;
    id k3 = (id)[UIColor magentaColor].CGColor;
    id k4 = (id)[UIColor grayColor].CGColor;
    color.values = @[k1, k2, k3, k4];
 //添加动画
 [self.myView.layer addAnimation:color forKey:@"color"];

}

 

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
 //用于一系列的未知的变化
    CAKeyframeAnimation *position = [CAKeyframeAnimation animationWithKeyPath:@"position"];
    position.duration = 2;
    NSValue *v1 = [NSValue valueWithCGPoint:CGPointMake(0, 0)];
    NSValue *v2 = [NSValue valueWithCGPoint:CGPointMake([UIScreen mainScreen].bounds.size.height - 100, 0)];
    NSValue *v3 = [NSValue valueWithCGPoint:CGPointMake([UIScreen mainScreen].bounds.size.width - 100, [UIScreen mainScreen].bounds.size.height - 100)];
    NSValue *v4 = [NSValue valueWithCGPoint:CGPointMake(0, [UIScreen mainScreen].bounds.size.height - 100)];
    NSValue *v5 = [NSValue valueWithCGPoint:CGPointMake(0, 0)];
    position.values = @[v1,v2,v3,v4,v5];
    position.keyTimes = @[@(0.1), @(0.4), @(0.5), @(0.8), @1];
    [self.myView.layer  addAnimation:position forKey:@"position"];

}

 

 

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
   //动画组
    //组合式的添加动画
    CAAnimationGroup *group = [CAAnimationGroup animation];
    group.duration = 2;
    group.animations = @[color,position];
   [self.myView.layer addAnimation:group forKey:@"group"];

}

 

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
  //切换特效
    CATransition *transition = [CATransition animation];
    transition.duration = 2;
 //切换的类型
 transition.type = @"cube";
 //设置子切换类型
  transition.subtype = kCATransitionFromLeft;
    [self.myView.layer addAnimation:transition forKey:@"transition"];

}

Object-C 里面的animation动画效果,核心动画

标签:

原文地址:http://www.cnblogs.com/Cassiedou/p/5486584.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!