CAAnimationGroup

- (void)viewDidLoad {

    [super viewDidLoad];

//   
添加图片

    self.imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"2.jpg"]];

    self.imageView.frame = CGRectMake(30, 100, CGRectGetWidth(self.imageView.frame), CGRectGetHeight(self.imageView.frame));

    [self.view addSubview:self.imageView];

    

//    贝塞尔曲线路径

    UIBezierPath *movePath = [UIBezierPath bezierPath];

    [movePath moveToPoint:CGPointMake(10.0, 10.0)];

    [movePath addQuadCurveToPoint:CGPointMake(100, 300) controlPoint:CGPointMake(300, 100)];

//以下必须导入QuartzCore包

//关键帧动画(位置)

    CAKeyframeAnimation *posAnim = [CAKeyframeAnimation animationWithKeyPath:@"position"];

    posAnim.path = movePath.CGPath;

    posAnim.removedOnCompletion = YES;

//   
缩放动画

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

    scaleAnim.fromValue = [NSValue valueWithCATransform3D:CATransform3DIdentity];

    scaleAnim.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeScale(0.1, 0.1, 1.0)];

    scaleAnim.removedOnCompletion = YES;

//   
透明动画

    CABasicAnimation *opacityAnim = [CABasicAnimation animationWithKeyPath:@"alpha"];

    opacityAnim.fromValue = [NSNumber numberWithFloat:1.0];

    opacityAnim.toValue = [NSNumber numberWithFloat:0.1];

    opacityAnim.removedOnCompletion = YES;

//   
动画组

    CAAnimationGroup *animGroup = [CAAnimationGroup animation];

    animGroup.animations = [NSArray arrayWithObjects:posAnim,scaleAnim,opacityAnim, nil];

    animGroup.duration = 1;

    [self.imageView.layer addAnimation:animGroup forKey:nil];

    // Do any additional setup after loading the view, typically from a nib.

}

时间: 2024-09-09 17:12:21

CAAnimationGroup的相关文章

core Animation之CAAnimationGroup(动画群组)

可以保存一组动画对象,将CAAnimationGroup对象加入层后,组中所有动画对象可以同时并发运行 属性解析: animations:用来保存一组动画对象的NSArray 默认情况下,一组动画对象是同时运行的,也可以通过设置动画对象的beginTime属性来更改动画的开始时间 #import "ViewController.h" @interface ViewController () @property(nonatomic,strong)UIButton *btn; @end @

iOS开发之核心动画(Core Animation)

1.概述 Core Animation是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍,使用它需要先添加QuartzCore.framework和引入对应的框架<QuartzCore/QuartzCore.h>. 特别注意的是核心动画的动画效果只是"假象",产生动画的那个view实际上并未发生任何变化. 开发步骤: 第一步:初始化一个动画对象(CAAnimation)并设置一些动画相关属性. 第二步:添加动画对象到层(CALayer)中,开

心电图动画效果

心电图动画效果   效果   源码 https://github.com/YouXianMing/Animations // // BezierPathViewController.m // Animations // // Created by YouXianMing on 16/1/11. // Copyright 2016年 YouXianMing. All rights reserved. // #import "BezierPathViewController.h" #imp

IOS开发UI篇--IOS动画(Core Animation)总结

一.简介 IOS 动画主要是指Core Animation框架.官方使用文档地址为:Core Animation Guide. Core Animation是IOS和OS X平台上负责图形渲染与动画的基础框架.Core Animation可以作用与动画视图或者其他可视元素,为你完成了动画所需的大部分绘帧工作.你只需要配置少量的动画参数(如开始点的位置和结束点的位置)即可使用Core Animation的动画效果.Core Animation将大部分实际的绘图任务交给了图形硬件来处理,图形硬件会加

如何实现自己没实现过的需求之文本动画

前言 记得以前看到过一个很赞的文字效果的动画,类似于这样: 当时被惊艳到了,最近偶然间又再次见到,依然还是那么喜欢.假设我们现在需要实现这样的需求.一般碰到需求我们都会去 GitHub 上看看,俗称找轮子(GitHub 基本上只有你想不到的,就没有它没有的).大多数情况下,没有问题.或者说有点小问题:轮子太多,无从下嘴. 选择 选轮子就像选姑娘,你不知道后面等着你的是什么 -–罪恶坑小程如是说 程序员江湖,每位大侠的武功和套路不尽一样,少林,武当,昆仑各门各派,百花争艳.实现轮子的思路自然也不一

iOS中Animation 动画 UI_22

版权声明:本文为博主原创文章,未经博主允许不得转载. 1.iOS中我们能看到的控件都是UIView的子类,比如UIButton UILabel UITextField UIImageView等等 2.UIView能够在屏幕的显示是因为在创建它的时候内部自动添加一个CALayer图层,通过这个图层在屏幕上显示的时候会调用一个drawRect: 的方法,完成绘图,才能在屏幕上显示 3.CALayer 本身就具有显示功能,但是它不能响应用户的交互事件,如果只是单纯的显示一个图形,此时你可以使用CALa

CAAnimation四种动画

在上一篇专题中我们提到,CAAnimation可分为以下四种: 1 2 3 4 5 6 7 8 1.CABasicAnimation 通过设定起始点,终点,时间,动画会沿着你这设定点进行移动.可以看做特殊的CAKeyFrameAnimation 2.CAKeyframeAnimation Keyframe顾名思义就是关键点的frame,你可以通过设定CALayer的始点.中间关键点.终点的frame,时间,动画会沿你设定的轨迹进行移动 3.CAAnimationGroup Group也就是组合的

[控件] LiveChangedImageView

LiveChangedImageView   效果   说明 切换图片的时候自动根据图片的尺寸进行渐变式切换,效果很不错,使用非常容易.   源码 https://github.com/YouXianMing/UI-Component-Collection // // LiveChangedImageView.h // LiveImageView // // Created by YouXianMing on 15/5/1. // Copyright (c) 2015年 YouXianMing.

沿着贝塞尔曲线做动画

沿着贝塞尔曲线做动画 效果图如下: 源码: // // RootViewController.m // // Copyright (c) 2014年 Y.X. All rights reserved. // #import "RootViewController.h" #import "YXGCD.h" @interface RootViewController () @property (nonatomic, strong) GCDTimer *timer; @e