• Core Animation简介


    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];

  • 相关阅读:
    复选框和文字对齐解决方案
    封装getElementsByClassName()
    原生js运动框架
    如何防止鼠标移出移入子元素触发mouseout和mouseover事件
    回调函数
    经验
    sublime text3函数追踪:ctags配置
    笔记
    编程经验NO.1 from月光博客
    概念
  • 原文地址:https://www.cnblogs.com/zhanggui/p/4242716.html
Copyright © 2020-2023  润新知