首页 > 其他 > 详细

Core Animation简介

时间:2015-01-22 21:38:22      阅读:412      评论:0      收藏:0      [点我收藏+]

1、我们是使用Core Animatioin创建动画的时,实质上是更改CALayer的属性,然后让这些属性流畅的变化。可以使用Core Animation对象的位置、颜色、透明度以及CGAffine变换来制作动画。

2、一个简单的小动画

/隐式动画/

 

- (void)viewDidLoad {

    [super viewDidLoad];

    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 40, 40)];

    [UIView beginAnimations:nil context:NULL];

    [UIView setAnimationDuration:2.0];  //设置动画时长

    CGAffineTransform moveTransform = CGAffineTransformMakeTranslation(200, 300);  //移动到固定的位置

    [imageView.layer setAffineTransform:moveTransform];

    imageView.layer.opacity = 1;

    

    [UIView commitAnimations];

    imageView.backgroundColor = [UIColor redColor];

    

    [self.view addSubview:imageView];

 

}

/显示动画/

- (void)viewDidLoad {

    [super viewDidLoad];

    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 40, 40)];

    imageView.backgroundColor = [UIColor redColor];

 

    CABasicAnimation *opAnim = [CABasicAnimation animationWithKeyPath:@"opacity"];

    opAnim.duration = 3.0;

    //定义开始和结束的透明度

    opAnim.fromValue = [NSNumber numberWithFloat:1.0];

    opAnim.toValue = [NSNumber numberWithFloat:0];

    opAnim.cumulative = YES;

    opAnim.repeatCount = 6;    //重复次数

    [imageView.layer addAnimation:opAnim forKey:@"animateOpacity"];

    CGAffineTransform moveTransform = CGAffineTransformMakeTranslation(200, 300);

    CABasicAnimation *moveAnim = [CABasicAnimation animationWithKeyPath:@"transform"];

    moveAnim.duration = 6.0;

    moveAnim.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeAffineTransform(moveTransform)];

    [imageView.layer addAnimation:moveAnim forKey:@"animateTransform"];

    

    [self.view addSubview:imageView];

Core Animation简介

原文:http://www.cnblogs.com/zhanggui/p/4242716.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!