核心动画编程
2012-08-08 17:30
92 查看
什么是核心动画:
核心动画是一个oc类的集合,这些类用来做图形渲染,投影和动画。
用核心动画,我们就能不通过底层图形API(如opengl)来为我们的应用程序创建动态动画用户接口。
核心动画能分为下面几个类别:
1,为展示(display)提供内容的层类(layer class);
2,动画和时间类
3,排版(layout)和限制类
层类(layer class)
层类是核心动画的基础,它为用UIview的开发者提供了抽象。CALayer提供了层的基本功能。它是所有核心动画层的父类。
核心动画层是mvc中的模型对象,它只提供展示的内容,而不负责去展示。
在views中显示layers
layers不能直接在window中显示,而必须加到一个view中,当和一个view配对以后layers为显示提供内容,view必须为layer提供事件处理。
iOS的view系统是直接建立在核心动画层上的。每个UIview自动创建一个CALayer类的实例,并把它设置为view的layer属性。
动画:
动画是现在用户接口的一个关键元素,核心动画中动画是完全自动的,没有动画循环或者定时器。
动画类和时间:
CABasicAnimation提供在层属性变量之间做简单的改写。
隐式动画:
显式动画:
核心动画也支持显式动画模型。显式动画模型需要我们创建一个动画对象,并设置开始和结束变量。
显式动画直到我们对层应用了此动画此动画才开始播放。
下面代码让一个层的透明度从完全不透明变为完全透明,3秒以后变回来。这个动画直到加入层以后才播放。
开始和结束显式动画:
通过发送一个addAnimation:forKey:消息到目的层来开始显式动画,传递动画和标识作为参数。
一旦加入目标层显示动画立即运行直到动画完成或者被层移除。传递的标识也可以用来停止动画通过调用
removeAnimationForKey:方法。通过发送给层一个removeAllAnimation消息能停止所有的动画。
CALayer和CAEmitterLayer
核心动画是一个oc类的集合,这些类用来做图形渲染,投影和动画。
用核心动画,我们就能不通过底层图形API(如opengl)来为我们的应用程序创建动态动画用户接口。
核心动画能分为下面几个类别:
1,为展示(display)提供内容的层类(layer class);
2,动画和时间类
3,排版(layout)和限制类
层类(layer class)
层类是核心动画的基础,它为用UIview的开发者提供了抽象。CALayer提供了层的基本功能。它是所有核心动画层的父类。
核心动画层是mvc中的模型对象,它只提供展示的内容,而不负责去展示。
在views中显示layers
layers不能直接在window中显示,而必须加到一个view中,当和一个view配对以后layers为显示提供内容,view必须为layer提供事件处理。
iOS的view系统是直接建立在核心动画层上的。每个UIview自动创建一个CALayer类的实例,并把它设置为view的layer属性。
动画:
动画是现在用户接口的一个关键元素,核心动画中动画是完全自动的,没有动画循环或者定时器。
动画类和时间:
CABasicAnimation提供在层属性变量之间做简单的改写。
隐式动画:
显式动画:
核心动画也支持显式动画模型。显式动画模型需要我们创建一个动画对象,并设置开始和结束变量。
显式动画直到我们对层应用了此动画此动画才开始播放。
下面代码让一个层的透明度从完全不透明变为完全透明,3秒以后变回来。这个动画直到加入层以后才播放。
CABasicAnimation *theAnimation; theAnimation=[CABasicAnimation animationWithKeyPath:@"opacity"]; theAnimation.duration=3.0; theAnimation.repeatCount=2; theAnimation.autoreverses=YES; theAnimation.fromValue=[NSNumber numberWithFloat:1.0]; theAnimation.toValue=[NSNumber numberWithFloat:0.0]; [theLayer addAnimation:theAnimation forKey:@"animateOpacity"];
开始和结束显式动画:
通过发送一个addAnimation:forKey:消息到目的层来开始显式动画,传递动画和标识作为参数。
一旦加入目标层显示动画立即运行直到动画完成或者被层移除。传递的标识也可以用来停止动画通过调用
removeAnimationForKey:方法。通过发送给层一个removeAllAnimation消息能停止所有的动画。
CALayer和CAEmitterLayer
相关文章推荐
- 核心动画编程指南Core Animation Programming Guide - iOS
- iOS开发——动画编程OC篇&(二)核心动画
- iOS开发CoreAnimation解读之一——初识CoreAnimation核心动画编程
- iOS开发CoreAnimation解读之一——初识CoreAnimation核心动画编程
- iOS开发CoreAnimation解读之一——初识CoreAnimation核心动画编程
- iOS-Core Animation 核心动画高级编程/4-视觉效果
- iOS-Core Animation 核心动画高级编程/5-变换
- iOS动画开发之四——核心动画编程(CoreAnimation)
- iOS核心系统编程最佳实践:动画
- 关于iphone核心动画编程对应的keypath
- iOS核心动画编程
- ios核心动画编程指南观摩完毕
- 48.核心动画之基础动画
- OC笔记 - 核心动画(2015.4.6)
- Java多线程之this与Thread.currentThread()的区别——java多线程编程核心技术
- 基于visual c++之windows核心编程代码分析 实现Windows服务并安装,控制
- AJ学IOS(38)UI之核心动画简介
- iOS开发UI高级—32核心动画简介
- iOS编程------动画
- Python 核心编程