CoreAnimation方法汇总
使用CoreAnimation一般分为三个部分:1.创建执行动画的CALayer 2.创建动画 3.CALayer 添加Animation
CoreAnimation是以锚点为基础.
CoreAnimation的继承关系:

| CAAnimation | |
| 属性 | 描述 |
| timingFunction | 时间函数
kCAMediaTimingFunctionLinear线性 kCAMediaTimingFunctionEaseIn淡入 kCAMediaTimingFunctionEaseOut淡出 kCAMediaTimingFunctionEaseInEaseOut淡入淡出 kCAMediaTimingFunctionDefault默认 通过控制点创建一个时间函数: - (id)functionWithControlPoints:(float)c1x :(float)c1y :(float)c2x :(float)c2y;
- (id)initWithControlPoints:(float)c1x :(float)c1y :(float)c2x :(float)c2y;
|
| delegate | 代理 |
| removedOnCompletion | 是否在动画完成将其移除 |
| 方法 | 描述 |
|
+(instancetype)animation |
创建CAAnimation对象 |
|
+(id)defaultValueForKey:(NSString *)key; |
根据属性key,返回相应的属性值 |
|
-(BOOL)shouldArchiveValueForKey:(NSString *)key; |
返回指定的属性值是否可以归档 |
| 协议 | 描述 |
| -(void)animationDidStart:(CAAnimation *)anim | animation开始执行 |
| -(void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag; | animation结束或者被移除是回调,只用在动画结束的情况下,flag才是YES |
| CAMediaTiming | |
| fillMode |
决定了当前对象非active时间段的行为,比如动画之前,动画之后(RemoveOnCompletion必须设成NO)
KCAFillModeRemoved:这个是默认值,动画开始前,动画结束后,动画对layer都没有影响,动画结束后,layer会恢复到之前状态
KCAFillModeForwards:动画结束后,layer会一直保持动画最后的状态
KCAFillModeBackwards:在动画开始前,只要将动画加入一个layer,layer便立即进入动画的初始化状态并等待动画开始
KCAFFillModeBoth:KCAFillModeForwards和KCAFillModeBackwards的结合,动画开始之前,Layer处于动画初始状态,动画结束后Layer保持动画最后状态
|
| beginTime | 起始时间 |
| duration | 时长 |
| speed | 速度 |
| timeOffset | 时间偏移 |
| repeatCount | 重复次数 |
| repeatDuration | 重复时长 |
| autoReverses |
是否在动画结束后回到开始值 |
| CATransion(系统动画) | |
| 属性 | 描述 |
| type |
动画类型: kCATransitionFade kCATransitionMoveIn kCATransitionPush kCATransitionReveal |
| subtype |
动画的方向: kCATransitionFromRight kCATransitionFromLeft kCATransitionFromTop kCATransitionFromBottom |
| startProgress | 动画起始位置,默认为0,范围0~1 |
| endProgress | 动画结束位置,默认为0,范围1~0 |
| filter | 过度对象,设置后type和subtype将被忽略 |

| CAPropertyAnimation(属性动画) | |
| 属性 | 描述 |
| keyPath |
描述animation的类型: |
| additive | |
| cumulative | |
| valueFunction | |
| 方法 | 描述 |
|
+(instancetype)animationWithKeyPath:(NSString *)path |
创建动画 |
| CABasicAnimation(基础动画) | |
| 属性 | 描述 |
| fromValue | 开始值 |
| toValue | 结束值 |
| byValue | 相对值 |
| FromValue、ToValue、ByValue不能同时多余两个为空 | |
| CAKeyframeAnimation(关键帧动画) | |
| 属性 | 描述 |
|
values |
里面的元素称为“关键帧”。动画对象会在指定的时间里,显示完values数组里的每一帧 |
|
path |
可以设置一个CGPathRef/CGMutablePathRef,让层跟着路径移动。path只对CALayer的anchorPoint和position起作用,如果设置了Path那么Value将被忽略 |
|
keyTimes |
为对应的关键帧指定对应的时间点,取值范围是0~1,keyTimes中的每一个时间值都对应Values中的每一帧,当keyTimes没有设置的时候,各个关键帧的时间平分,比如传{0,0.1,0.6,0.7,1.0},首尾必须是0,1,tAB= 0.1-0,tCB = 0.6-0.1,tDC = 0.7-0.1 |
|
timingFunctions |
时间函数数组 |
|
calculationMode |
计算模式,其主要针对的是每一帧的内容为一个坐标点的情况,也就是对anchorPoint和position进行动画。决定了物体在每个子路径下是跳着走还是匀速走 kCAAnimationLinear:线性,默认,关键帧为座标点的时候,关键帧之间直接直线项链进行插值计算 kCAAnimationDiscrete:离散,无中间过程,不进行插 kCAAnimationPaced:平均,使动画均匀进行 kCAAnimationCubic:对关键帧为座标点的关键帧进行圆滑的曲线相连后进行插值计算 kCAAnimationCubicPaced:在KCAAnimationCubic的基础上使得动画运行变动均匀 |
|
tensionValues |
|
|
continuityValues |
|
|
biasValues |
|
|
rotationMode |
kCAAnimationRotateAuto
kCAAnimationRotateAutoReverse |
| CASpringAnimation | |
| 属性 | 描述 |
| mass | 质量,影响图层运动时的弹簧惯性,质量越大,弹簧拉伸和压缩的幅度越大 |
| stiffness | 刚度系数(劲度系数/弹性系数),刚度系数越大,形变产生的力就越大,运动越快 |
| damping | 阻尼系数,阻止弹簧伸缩的系数,阻尼系数越大,停止越快 |
| initialVelocity | 初始速率,动画视图的初始速度大小 速率为正数时,速度方向与运动方向一致,速率为负数时,速度方向与运动方向相反 |
| settlingDuration | 结算时间 返回弹簧动画到停止时的估算时间,根据当前的动画参数估算 通常弹簧动画的时间使用结算时间比较准确 |
| CAAnimationGroup | |
| 属性 | 描述 |
| animations | 动画数组 |
CoreAnimation方法汇总的更多相关文章
- 你真的会玩SQL吗?实用函数方法汇总
你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...
- Java实现时间动态显示方法汇总
这篇文章主要介绍了Java实现时间动态显示方法汇总,很实用的功能,需要的朋友可以参考下 本文所述实例可以实现Java在界面上动态的显示时间.具体实现方法汇总如下: 1.方法一 用TimerTask: ...
- C#读写文件的方法汇总_C#教程_脚本之家
C#读写文件的方法汇总_C#教程_脚本之家 http://www.jb51.net/article/34936.htm
- UITextView实现placeHolder方法汇总
UITextField中有一个placeholder属性,可以设置UITextField的占位文字,起到提示用户的作用.可是UITextView就没那么幸运了,apple没有给UITextView提供 ...
- 将编码从GB2312转成UTF-8的方法汇总(从前台、程序、数据库)
这篇文章主要介绍了将编码从GB2312转成UTF-8的方法汇总(从前台.程序.数据库),需要的朋友可以参考下 一个网站如果需要国际化,就需要将编码从GB2312转成UTF-8,其中有很多的问题需要注意 ...
- 本地获取System权限CMD方法汇总(转)
本地获取System权限CMD方法汇总(转) 稍微整理了下,大概有三种方法可以本地获取system权限的cmd,但前提都是当前用户具备administrator权限. 下面列举的三种方法各有千秋,看你 ...
- Javascript对象属性与方法汇总
Javascript对象属性与方法汇总 发布时间:2015-03-06 编辑:www.jquerycn.cn 详细介绍下,javascript对象属性与对象方法的相关知识,包括javascript字符 ...
- .net(C#)操作文件的几种方法汇总
.net(C#)操作文件的几种方法汇总 System.IO命名空间下类的用法:在System.IO名称空间中包含了用于文件输入输出的主要类.File:实用类,提供许多静态方法,用于移动.复制和删除文件 ...
- jquery常用函数与方法汇总
1.delay(duration,[queueName]) 设置一个延时来推迟执行队列中之后的项目. jQuery1.4新增.用于将队列中的函数延时执行.他既可以推迟动画队列的执行,也可以用于自定义队 ...
随机推荐
- 【Swift学习】Swift编程之旅---扩展(二十四)
扩展就是向一个已有的类.结构体或枚举类型添加新功能,包含属性和方法,如果你定义了一个扩展向一个已有类型添加新功能,那么这个新功能对该类型的所有已有实例中都是可用的,即使它们是在你的这个扩展的前面定义的 ...
- CSS常用选择器名
一.页面结构划分 box 盒子wrap 包裹container 容器 header 头部main 主要区域footer 底部 content 内容区域banner 横幅广告区域menu 菜单 二.模块 ...
- Sublime Text2配置过程
今天Sublime Text2不知道为什么突然崩溃了,一直不能运行,没办法只有重装了,重装后按我的用途重新配置了一下,现将配置过程记录下来以备将来不时之需 说明:配置是在windows系统上进行的,其 ...
- 【转载】Memcached在.Net中的基本操作
一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...
- LINQ to SQL语句(4)之Join
适用场景:在我们表关系中有一对一关系,一对多关系,多对多关系等.对各个表之间的关系,就用这些实现对多个表的操作. 说明:在Join操作中,分别为Join(Join查询), SelectMany(Sel ...
- 从C#到Objective-C,循序渐进学习苹果开发(5)--利用XCode来进行IOS的程序开发
本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.前面几篇随笔主要介绍C#和O ...
- CIO:让IT成为企业的一种竞争优势
在你的公司,IT是将自己视为服务提供者,业务部门的合作伙伴,还是创新驱动者?其他部门的领导者是怎么看待IT的?在老板的眼里,IT是如何的一个定位?在过去一年的,身为企业的CIO,你是否知道哪些应用或新 ...
- C#多种方式获取文件路径
string str5=Application.StartupPath;//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称. string str1 =Process.GetCurren ...
- 利用chrome调试JavaScript代码
看见网上很多人问怎么用chrome调试JavaScript代码,我也对这个问题抱着疑问,但是没有找到一篇能用的中文文章(可能我的google有问题),也不知道怎么点出一篇E文的,感觉作者写得不错,所以 ...
- iOS版本比较方法
之前一直把版本号转换为floatValue,但是最近在项目中又出现了float的问题,主要是 NSString表示为@"17.30",转换为floatValue 值为17.2999 ...