Layer简介
iOS中的UI都是靠layer显示的,所以要做出绚丽的效果和动画必须要把layer学好。
苹果提供了不少layer类,大大方便了使用者,通常只需设置少数几个属性就能达到不错的效果。
常用的layer类有以下几个:
- CALayer
- CAShapeLayer
- CATextLayer
- CAScrollLayer
- CATiledLayer
- CAGradientLayer
- CAReplicatorLayer
- CATransformLayer
本系列文章将根据这些类的头文件和文档来学习它们的使用方式。
Layer的动画效果
凡是苹果提过继承自CALayer的类中的属性在文档或者注视中带有“Animatable”的都表示这个属性是有隐身动画效果的。
如果该属性带有隐身动画效果的话则CAPropertyAnimation的animationWithKeyPath:方法就可以用该值来初始化,可以生成对应的属性动画。
还有就是如果该属性是结构体的话直接设置该属性的属性也是有效果的,
例如:
<code class="language-Objective-c hljs json has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;">[CABasicAnimation animationWithKeyPath:@<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"position.x"</span>]</code>