学习Core Animation做一下学习记录,加深下自己的理解。
一,图层与视图
1, 一个视图就是屏幕上一个矩形块(图片,按钮),能够拦截用户手势,点击等。
所有视图都是基于父类UIView而派生的。UIView可以处理触摸事件,支持Core Graphics绘图,可以做仿射变换,或者简单的滑动,渐变动画。
2,CAlayer 类和UIView相似,同样是被层级关系管理的矩形块,同样可加载一些文本,图片,背景色,管理子视图的位置。可以做动画和变换。和UIView不同的是CALayer不处理用户的交互。
每一个UIVIew都有一个layer实例图层属性。实际上layer才是真正用来做显示和动画的,UIView只是对它的封装。
二,图层的能力
layer 可以做的功能,阴影,圆角,带颜色的边框,3D变换,非矩形范围,透明遮罩,多级非线性动画。
三,图层的使用
1,创建一个简单的项目,添加一个视图,view1
我们在view1的图层上面添加一个图层。blueLayer,蓝色
- (void)viewDidLoad {
[super viewDidLoad];
CALayer *blueLayer = [CALayer layer];
blueLayer.backgroundColor = [UIColor blueColor].CGColor;
blueLayer.frame = CGRectMake(20, 20, 50, 50);
blueLayer.contentsScale = [[UIScreen mainScreen] scale];
[self.view1.layer addSublayer:blueLayer];
}