zoukankan      html  css  js  c++  java
  • 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];

  • 相关阅读:
    iOS开发自定义转场动画
    自定义UICollectionViewLayout之CATransform3D
    iOS开发CATransform3D.h属性详解和方法使用
    iOS开发CGImage.h简介
    iOS开发使用UIScrollView随笔
    iOS界面动画特效
    iOS绘制线条的使用
    iOS开发本地推送(iOS10)UNUserNotificationCenter
    iOS开发本地推送
    iOS开发NSFetchedResultsController的使用CoreData和TableView数据同步更新
  • 原文地址:https://www.cnblogs.com/zhanggui/p/4242716.html
Copyright © 2011-2022 走看看