图层的核心动画(CABaseAnimation)

时间:2022-09-13 19:30:18

Main.storyboard

图层的核心动画(CABaseAnimation)

//

//  ViewController.m

//  7A14.图层的核心动画

//

//  Created by huan on 16/2/4.

//  Copyright © 2016年 huanxi. All rights reserved.

//

#import "ViewController.h"

@interface ViewController ()

@property (weak, nonatomic) IBOutlet UIImageView *imageView;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

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

}

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

//设置根层的大小

//    self.imageView.layer.bounds = CGRectMake(0, 0, 150, 150);

//想要在根层执行动画,使用核心动画

//1.创建一个核心动画对象

CABasicAnimation *animation = [CABasicAnimation animation];

#warning 核心动画,只是一个假象,真实的大小是没有变化

/*

* 解决方案1:如果想控制的大小真实改变,要在动画结束设置控制的尺寸

* 解决方案2:使动画保存执行之后的状态,默认动画执行完后,会返回原来的状态

*/

//设置图形的属性来决定动画类型

//bounds 图层尺寸动画

animation.keyPath = @"bounds";

//设置bounds尺寸变化后的大小

animation.toValue = [NSValue valueWithCGRect:CGRectMake(0, 0, 150, 150)];

//解决方案1:动画的代理

//动画的代理

animation.delegate = self;

//解决方案2:使动画保存之后的状态,只要设置动画的两个属性

//    animation.removedOnCompletion = NO; //动画对象不要移除

//    animation.fillMode = kCAFillModeForwards;//保存当前的状态

//2.往控件的图层添加动画

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

}

-(void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag{

self.imageView.bounds = CGRectMake(0, 0, 150, 150);

}

@end

结果

图层的核心动画(CABaseAnimation)

图层的核心动画(CABaseAnimation)的更多相关文章

  1. 图层的核心动画(CABaseAnimation)续

    Main.storyboard ViewController.m // //  ViewController.m //  8A01.核心动画 // //  Created by huan on 16/ ...

  2. ios开发之图层与核心动画一:图层CALayer的认识

    #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutl ...

  3. iOS核心动画高级技巧之图层变换和专用图层&lpar;二&rpar;

    iOS核心动画高级技巧之CALayer(一) iOS核心动画高级技巧之图层变换和专用图层(二)iOS核心动画高级技巧之核心动画(三)iOS核心动画高级技巧之性能(四)iOS核心动画高级技巧之动画总结( ...

  4. iOS核心动画(专用图层篇)

    之前的文章我们了解了Core Animation中图层的一些基础知识.没有看过的传送门在此: iOS核心动画基础篇 那么在了解了这些基础知识之后,接下来进入专用图层的了解 苹果为了方便和性能,封装了几 ...

  5. iOS开发UI篇—核心动画&lpar;基础动画&rpar;

    转自:http://www.cnblogs.com/wendingding/p/3801157.html 文顶顶 最怕你一生碌碌无为 还安慰自己平凡可贵 iOS开发UI篇—核心动画(基础动画) iOS ...

  6. iOS开发UI篇—核心动画简介

    转自:http://www.cnblogs.com/wendingding/p/3801036.html iOS开发UI篇—核心动画简介 一.简单介绍 Core Animation,中文翻译为核心动画 ...

  7. 核心动画 (CAAnimationGroup)

    Main.storyboard ViewController.m // //  ViewController.m //  8A05.核心动画 CAAnimationGroup // //  Creat ...

  8. iOS开发——UI进阶篇(十七)CALayer,核心动画基本使用

    一.CALayer简介 1.CALayer在iOS中,文本输入框.一个图标等等,这些都是UIView你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个其实UIView之所以 ...

  9. 核心动画基础动画&lpar;CABasicAnimation&rpar;关键帧动画

    1.在iOS中核心动画分为几类: 基础动画(CABasicAnimation) 关键帧动画(CAKeyframeAnimation) 动画组(CAAnimationGroup) 转场动画(CATran ...

随机推荐

  1. TCP&sol;IP协议握手过程详解

    1,建立连接 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接,如图1所示. (1)第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SE ...

  2. The maximum number of cell styles was exceeded&period; You can define up to 4000 styles

    POI操作Excel中,导出的数据不是很大时,则不会有问题,而数据很多或者比较多时, 就会报以下的错误,是由于cell styles太多create造成,故一般可以把cellstyle设置放到循环外面 ...

  3. 简谈ArrayList和LinkedList区别

    对于ArrayList和LinkedList,他们都实现了List接口,他们的区别大致为: ArrayList LinkedList (1)底层是数组,可以以O(1)的时间复杂度对元素进行随机访问 以 ...

  4. windows下搭建NFS服务器

    Win7除了旗舰版和企业版其他版本没有NFS客户端,windows2000,windowsXP,windows2003有个sfu(windows services for unix)工具貌似比较强大, ...

  5. MySQL5&period;7&period;25(解压版)Windows下详细的安装过程

    大家好,我是浅墨竹染,以下是MySQL5.7.25(解压版)Windows下详细的安装过程 1.首先下载MySQL 推荐去官网上下载MySQL,如果不想找,那么下面就是: Windows32位地址:点 ...

  6. Svn在工作中的实践感悟

    Svn是一款管理项目代码的版本控制系统,是基于集中式的版本控制系统.在工作中,由于实际开发工作的需要,部门是使用Svn来管理日常的项目开发任务.使用这么长时间了,来谈谈对Svn的感悟. 首先,说下工作 ...

  7. &lbrack;CQOI2014&rsqb;数三角形

    [CQOI2014]数三角形 给定\(n\times m\)的网格,求三个点在其格点上的三角形个数,1<=m,n<=1000. 解 法一:直接 显然为组合计数问题,关键在于划分问题,注意到 ...

  8. 解决使用display:inline-block时元素间隔问题

    在写个人博客页时出现了一个百思不得其解的问题,不知道为什么出现以下情况: 可以看到,下面的a标签中出现了一个间隔,怎么都去不掉,查阅资料后发现,问题原因如下: 1.第一种解决办法,去掉HTML元素中的 ...

  9. C&num;窗体程序与sql sever 数据库链接

    一.所用工具 Visual Studio 2017和SQL Server Management Studio 2012 二.连接 打开SQL Server Management Studio 2012 ...

  10. 生产redis client 链接报:ERR max number of clients reached 含义&colon; 达到最大客户端数错误

    1.通过netstat 命令查看TCP又11822个连接  (netstat命令是一个监控TCP/IP网络的非常有用的工具) 2.默认redis最大的连接数10000 ,但是此时无法连接redis客户 ...