CoreAnimation详解(一)有关Layer的动画

原创Blog,转载请注明出处

我的IOS SDK详解专栏,地址

http://blog.csdn.net/column/details/huangwenchen-ios-sdk.html

本文主要从CoreAnimation的Layer角度来讲解动画,我想从CALayer的角度更好理解,后续还会有第二篇从UIKIt的UIView角度来讲解动画,第三篇讲解UIDynamicAnimation,第三篇我会讲到UIViewController切换时候的动画。

本文主要涵盖四个部分

1.基础动画-会讲到时间函数和一些关键的属性

2.基于关键帧的动画-讲到沿着指定路径运行的动画

3.动画组-多个动画组合到一起形成复杂的动画

4.简单讲一下讲一下有关动画的代理

(一)为什么要设计动画?

动画提供了一个渐变的方式来表达变化,使用动画可以避免各种界面突变,造成用户困惑。

IOS中,使用CoreAnimation只要指定始末状态或者关键帧的状态,CoreAnimation会高效的为我们创建补间动画。


(二)从CALayer的角度来看的三种动画

首先不熟悉CALayer的同学看看前两篇的CALayer的内容,这是CoreAnimation的基础。这里我重复的介绍两种CALayer的Tree。

Presentation Tree-对应在动画的过程中,CALayer的属性

Model Tree-对应CALayer的实际属性。

通过使用 -[CALayer presentationLayer] 和 -[CALayer modelLayer]可以访问两种Tree

动画的过程实际上是修改Presentation Tree


2.1 基础的动画

第一个简单的动画,我希望imageview向右移动100的距离,移动方式easeInOut(加速开始,减速结束)。

效果如图:

               

代码如下,通常有两种方式来影响动画

<pre name="code" class="objc">    CABasicAnimation * animation = [CABasicAnimation animation];
    animation.keyPath = @"position.x";//KVC的方式来访问属性
    animation.fro
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值