Core Animation编程指南

    2014-08-29 00:00     0 条评论

Core Animation编程指南

参考资料

  1. Core Animation Demo

概述

核心动画编程包含以下内容:

  • “核心动画概念”提供核心动画的描述
  • “图层(Layer)的几何和变换”描述了图形的几何和变换
  • “图层树的层次结构”描述图层的结构树和如何在应用程序中使用它
  • “提供图层内容”介绍如何提供基本图层的内容
  • “动画”介绍了核心动画的动画模型。
  • “图层行为”介绍图层的行为,同时实现隐式动画。
  • “事务(transactions)”介绍如何通过事务来组合动画
  • “布局核心动画的图层”描述布局管理器的限制
  • “核心动画的扩展键-值编码”描述了核心动画提供的键-值编码
  • “图层样式属性”描述了图层样式属性,并提供其视觉效果的例子
  • “动画的属性”概括层和滤镜的动画属性。

1. Core Animation(核心动画)概念

核心动画是一套包含图形绘制,投影,动画的OC类集合。它通过开发人员所熟悉的应用程序套件和Cocoa Touch视图架构的抽象分层模式,同时使用线程的合作效果提供了一套流程的动画。

核心动画类

核心动画类层级结构:

NSObject
            --> CAAnimation
                             -->CAAnimationGroup
                             -->CAPropertyAnimation
                                                -->CAKeyFrameAnimation
                                                -->CABasicAnimation
                             -->CATransition

CALayer类层级结构:

NSObject
            --> CALayer
                        -->CAEAGLLayer
                        -->CAEmitterLayer
                        -->CAGradientLayer
                        -->CAReplicatorLayer
                        -->CAScrollLayer
                        -->CAShapeLayer
                        -->CATextLayer
                        -->CATiledLayer
                        -->CATransformLayer
                        -->CoreAnimationLayer

计时类

事务管理类:
图层的动画属性的每一个修改必然是事务的一个部分。CATransaction是核心动画里面负责协调多个动画原子更新显示操作。事务支持嵌套使用。
核心动画支持两种事务:隐式事务和显式事务。在图层的动画属性被一个线程修改,同时该线程下次迭代的时候自动提交该修改的时候隐式事务自动创建。显式事务发生在程序在修改动画属性之前给CATransaction发送了一个开始消息,在动画属性修改之后提交该消息。

##2.渲染架构

图层和cocoa视图最大的区别是,图层不会直接渲染到屏幕上。

在模型-视图-控制器(model-view-controller)概念里面NSView和UIView是典型的视图部分,但是在核心动画里面图层是模型部分。图层封装了几何、时间、可视化属性,同时它提供了图层现实的内容,但是实际显示的过程则不是由它来完成。

每个可见的图层树都是由2个相应的树组成:一个是呈现树,一个是渲染树。

  • 图层树包含每一层的对象模型值。他们就是你设定的图层的属性值。
  • 呈现树包含了当前动画发生时候将要显示的值,例如你要给图层背景颜色设置新的值的时候,它会立即修改图层树里面相应的值。但是在呈现树里面背景颜色值在将要显示给用户的时候才被更新为新值。
本文地址:https://www.yhawaii.net/core-animation-guild.html
版权声明:本文为原创文章,版权归  所有,欢迎分享本文,转载请保留出处!

 发表评论


表情