图层与动画(简)

一.图层

1)图层是什么

(1)图层的定义

图层是管理app内容的数据对象。图层的内容由包含可视数据的位图构成。

(2)图层的类型

类别 用途
CAShaperLayer 用于绘制三次贝塞尔曲线。CAShaperLayer对绘制基于路径的形状非常有帮助。因为CAShaperLayer总是生成一个最新的路径。而如果将路径画在图层储备中,一旦图层被缩放,形状就变形了。
CATransformLayer 用于渲染一个真3D的图层层级。而不是由其他图层类实现的2D图层层级。
CAEmitterLayer 用于实现基于Core Animation粒子发射系统。发射器层对象控制粒子的生成和起源
CAGradientLayer 用于绘制一个颜色渐变填充图层的形状(所有圆角矩形边界内的部分)
CAEAGLLayer/CAOpenGLLayer 用于设置需要使用OpenGL ES(iOS)或OpenGL(OS X)绘制的内容与内容储备。
CAReplicatorLayer 当你想自动生成一个或多个子层的拷贝。复制器为你生成拷贝并使用你指定的属性值以修改复制品的外观和属性。
CAScrollLayer 用于管理由多个子区域组成的大的可滚动区域
CATextLayer 用于渲染一个无格式或属性文本字符
QCCompositionLayer 用于渲染一个Quartz组件元素(仅在OS X中有效)

(3)图层和视图的关系

二.动画

1)动画的种类

2)核心动画是什么

(1)核心动画的定义

它是一个负责在硬件上合成和操纵应用内容的基础构件。Core Animation的核心是图层对象,图层对象用于管理和操控你的应用内容。图层将捕获的内容放到一副位图中,图形硬件能够非常容易的操控你的位图。在大部分应用中,图层被作为一种管理视图内容的方式,但是你也可以创建标准的图层,这取决于你自身的需要。

(2)核心动画的分类(1:1.1,1.1.1,1.2;2;3)

补充一下,CABasicAnimation还有子类CASpringAnimation,弹簧动画。属性动画贵在属性,CALayer的属性,对应于不同的CALayer,可以针对其属性设置变化,如CAShaperLayer,可以设置strokeEnd属性,做出画笔画图的效果。

3)使用核心动画和UIKit动画须知

  • [UIView animate]的方法里只能对UIView的属性进行动画,对于layer的属性是无效的。比如你在这里想让self.AnimateView.layer.cornerRadius = 50.0; 是没有意义的。必须使用CoreAnimation。

  • 选择使用动画样式需要注意:UIView动画优先于CoreAnimation动画

  • 区分不同Anim的方法:1、对于加在一个全局变量上的anima,比如例子里的self.AnimateView ,这是一个全局变量,所以我们在这里可以通过[self.AnimateView.layer animationForKey:]根据动画不同的key来区分2、然而对于一个非全局的变量,比如demo中的progressLayer,可以用KVO:[pathAnimation setValue:@"strokeEndAnimation" forKey:@"animationName"];注意这个animationName是我们自己设定的。

  • 写一个动画比较准确的顺序:先改变model layer的属性,再应用动画。即先赋值给目标对象的属性,然后再添加动画。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 12,719评论 6 30
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 10,532评论 5 13
  • Core Animation其实是一个令人误解的命名。你可能认为它只是用来做动画的,但实际上它是从一个叫做Laye...
    小猫仔阅读 9,233评论 1 4
  • 书写的很好,翻译的也棒!感谢译者,感谢感谢! iOS-Core-Animation-Advanced-Techni...
    钱嘘嘘阅读 6,826评论 0 6
  • 创造人和形式,创造怎样一个世界,随你意。 希望自己习惯第三人称。毕竟那是抽离了我个人的。 过去想多研习那些教人做人...
    刘光明本尊阅读 884评论 0 0