CALayer-绪论
今天在处理一些问题的时候,又牵扯到了图层的处理,然后开始发掘大脑深处的记忆,不过,O(∩_∩)O~发现自己又忘的差不多了,然后开始查看一些关于CALayer
的资料,花费的时间不多,但是感觉这已经是我第N+N次查看这些东西了(感觉自己好笨~),每次都会浪费时间来收索想要的东西,但也从来没有对CALayer
有任何系统的了解,总是在使用的过程中,突然发现:我擦,怎么会有这个子类;这个,我怎么不知道有这个属性。终于我不能忍了,就是现在,我要回归修真模式,好好的整理一下这个~常用但又不常用~的家伙,也作为我《iOS论文系列》的开篇之作。
继承关系
- NSObject
- CALayer
- AVCaptureVideoPreviewLayer(多媒体捕获视频预览图层)
- AVPlayerLayer(多媒体播放图层)
- AVSampleBufferDisplayLayer(多媒体缓冲显示图层)
- AVSynchronizedLayer(多媒体同步图层)
- CAEAGLLayer((⊙o⊙)…)
- CAEmitterLayer(粒子发射图层)
- CAGradientLayer(梯度显示图层)
- CAMetalLayer(金属图层)
- CAReplicatorLayer(复制图层)
- CAScrollLayer(滚动图层)
- CAShapeLayer(形状图层)
- CATextLayer(文本图层)
- CATiledLayer(瓷砖图层)
- CATransformLayer(转换图层)
- CALayer
遵守协议
- CAMediaTiming
- CVarArgType
- CustomStringConvertible
- Equatable
- Hashable
- NSCoding
- NSObjectProtocol
引入头文件
1 | SWIFT: |
支持
- 支持iOS2.0以后
简介
CALayer主要是用来管理基于图像的内容,并允许你执行动画在它的上面。图层一般是用来做View(视图)内容的容器但是也可以脱离View而直接显示内容。一个Layer的主要工作是管理显示你所提供的视觉内容,但是其内部有很多视觉属性可以被设置,例如:(backgroundColor)背景色,(border)边框,(shadow)阴影等。除了管理视觉内容,Layer还维持其在屏幕上显示的图形信息(例如:(中心点位置)position,(大小)size,(形变信息)transform),修改Layer的属性能够让你开启一个动画,一个Layer对象可以设置动画时长和步调(节奏),其动画采用CAMediaTiming
协议,它定义了图层的定时信息。
如果一个Layer通过一个View被创建,View通常自动给自己分配Layer的代理,一般情况下,不要改变它们之间的关联。如果你自己创建一个Layer,你可以设置一个代理(delegate)对象,并通过它来动态设置Layer的内容或执行其他的任务,一个Layer也有可能会有一个布局管理者对象(设置LayoutManager
属性)去分别管理子视图的布局。