`

Core Animation简介

    博客分类:
  • ios
 
阅读更多

在iOS中,整个view都是直接构建在Core Animation层之上。每个UIView实例都带有一个CALayer实例,用来管理布局属性,即所有用户可见的部分,都是由CALayer来提供的,而UIView只是封装了CALayer,在它之上添加了响应事件的能力。

CALayer坐标系统

在layer中,有以下四种属性:bounds、frame、anchorPoint、position,他们的关系如下图:

 


bounds是用来表示layer内部坐标位置的,frame是相对于父layer的位置,若它为view的第一层layer,那么这个位置是相对于父view的。anchorPoint是用来影响变形动画的一个值,在view的左上角为(0, 0),右下角为(1, 1),默认为(0.5, 0.5),在view的中心。变形动画,比如旋转,会绕着这个点来进行。position是anchorPoint的位置,如果layer不动,anchorPoint的值改变,也会改变position的位置。

不同类型的layer

 

 

Core Animation定义了许多种不同的layer,上表中的每种layer都继承自CALayer类,在view中默认提供的layer即CALayer,可以通过继承UIView并重写layerClass方法来定义不同的layer,当然,也可以通过添加sublayer来在UIView中增加其它种类的layer。

给layer添加动画

layer动画分为显式动画和隐式动画两种,显式动画通过生成一个CAAnimation类,显式的添加到layer上来实现,隐式动画通过直接给layer的属性赋值来实现,比如:

theLayer.opacity = 0.0;

这就声明了一个隐式动画,默认的动画时长为0.25秒。

 


显式动画可以定义动画的路径、开始值、结束值、持续时间、重复次数等,生成的实例添加到layer上就开始执行动画。动画在结束后返回layer的原状态,可以在addAnimation之后修改layer的属性来让它保持动画结束的状态,或者变换其他状态。也可以用CAKeyFrameAnimation来实现指定路径的动画:

 


不同的动画可以组合成一个CAAnimationGroup,可以同时执行,实现复杂的动画,比如在大小改变的同时改变颜色等。CAAnimation也可以设置delegate,用来在动画开始和结束时回调。

分享到:
评论

相关推荐

    CoreAnimation_guide

    ### 核心知识点一:Core Animation简介 Core Animation是苹果公司为Mac OS X和iOS提供的一个图形动画框架,用于创建高性能、高质量的动态图形效果。该框架提供了一种简洁而强大的方法来实现复杂的动画效果,适用于...

    CoreAnimation_Cookbook

    #### 二、Core Animation简介 Core Animation是Apple提供的一套用于创建复杂动画效果的框架,它主要应用于Mac OS X和iOS等Apple操作系统上。通过Core Animation,开发者可以轻松地为用户界面添加各种视觉效果,如...

    core animation

    ### Core Animation:构建引人入胜的动态用户界面 #### 核心概念与技术背景 在探讨《Core Animation for Mac OS X and the iPhone》一书之前,我们需要了解几个关键概念和技术背景。 - **Core Animation**:是...

    教你使用coreAnimation

    Core Animation是iOS开发中一个强大的框架,用于创建各种丰富的视觉效果和动画。它不仅限于基本的移动和变换,还能实现复杂的2D和3D图形渲染。本教程将引导初学者掌握Core Animation的核心概念和使用技巧,从而在iOS...

    Core Animation Programming Guide 中文翻译版

    **核心动画编程指南**是苹果公司为iOS和Mac OS X开发者提供的一份重要参考资料,它深入解析了Core Animation框架的使用方法和核心技术。Core Animation是苹果操作系统中的一个关键图形渲染技术,它允许开发者创建高...

    Core Animation for Mac OS X and the iPhone 英文版

    《Core Animation for Mac OS X and the iPhone》是深入探讨苹果平台动画技术的重要参考资料,主要针对Mac OS X和iOS操作系统。Core Animation是Apple提供的一种强大的图形渲染和动画框架,它允许开发者创建流畅、...

    Core Animation

    Core Animation是苹果公司为其操作系统macOS和iOS提供的一项强大的图形渲染和动画技术。它是一个低级别的框架,用于创建丰富的、高性能的2D和3D视觉效果。Core Animation在应用程序的用户界面(UI)中扮演着核心角色...

    core animation advanced techniques源码

    核心动画(Core Animation)是Apple开发的一个强大的图形和动画框架,主要应用于iOS和macOS操作系统。这个"core animation advanced techniques源码"包含了深入利用Core Animation实现复杂和高性能动画的实例和示例...

    iOS Core Animation 中文翻译版

    iOS Core Animation是苹果公司为iOS设备提供的一个强大的动画框架,它是UIKit框架的一部分,可以用来创建流畅且丰富的视觉效果。本文将从iOS Core Animation的基础知识讲起,逐步深入探讨其中的核心概念、高级技术和...

    Core Animation动画例子

    Core Animation是iOS开发中用于创建丰富视觉效果的关键技术,它为开发者提供了强大的工具来实现平滑、高性能的2D和3D图形动画。这个“Core Animation动画例子”压缩包很可能是包含了一些示例代码,帮助开发者理解...

    iOS-CoreAnimation.pdf

    《iOS-CoreAnimation》是苹果平台下用于构建动态、交互式用户界面的核心技术之一。它是一个高性能的图形渲染和动画引擎,旨在快速、高效地组合和更新屏幕上的视觉元素,为iOS应用提供流畅、绚丽的动画效果。Core ...

    core animation cook book

    Core Animation 框架简介 Core Animation 是苹果为 Mac OS X 和 iOS 设计的一套用于创建动画和管理图形层的框架。它基于图层的概念进行构建,能够高效地处理复杂的视觉效果和动画序列。Core Animation 在 iPhone ...

    ios-CoreAnimation核心动画学习.zip

    在iOS开发中,Core Animation是苹果提供的一种强大的图形渲染技术,用于创建丰富的视觉效果和流畅的动画。这个“ios-CoreAnimation核心动画学习.zip”压缩包很可能是为了帮助开发者深入理解并掌握Core Animation的...

Global site tag (gtag.js) - Google Analytics