1. CALayer是什么?
1.在iOS中, 我们所能看到的按钮, 文本框, 标签, 输入框等都是UIView. 但UIView之所以能显示在屏幕上, 完全是因为他内部的一个图层, 在创建UIView对象时, UIView内部会自动创建一个图层, 就是CALayer对象. 通过UIView的layer属性可以访问:layer层
2.@property(strong, nonatomic) CALayer *layer;
3.当UIView需要显示到屏幕上时, 会调用drawRect:进行绘图, 并且将所有绘制的内容在自己的图层上绘制, 给图层绘制完毕时, 系统将会拷贝图层内容到屏幕上, 完成UIview的显示.
4.也就是说UIView本身是不具有显示功能的,真正拥有显示功能的是它里面的layer层.
5. 所以通过UIView的图层, 可以调整UIView的一些界面属性, 例如:阴影, 圆角, 边框, 颜色```
![CALyer.png](http://upload-images.jianshu.io/upload_images/1803308-55af10e899750d9d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
####图形一: 创建一个UIView对象, 然后修改该view的layer属性
//第一步: 声明一个UIView属性
@property (strong, nonatomic) UIView *myView;
//第二步: 初始化该View
//初始化
self.myView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
//添加背景色
self.myView.backgroundColor = [UIColor colorWithRed:0.107 green:1.000 blue:0.000 alpha:1.000];
//添加到视图上
[self.view addSubview:self.myView];
第三步: 修改layer属性
//设置阴影, 透明度
self.myView.layer.shadowOpacity = 1;
//设置阴影颜色
self.myView.layer.shadowColor = [[UIColor colorWithRed:0.084 green:0.044 blue:0.493 alpha:1.000]CGColor];
//设置阴影圆角半径
self.myView.layer.shadowRadius = 25;
//设置圆角半径
self.myView.layer.cornerRadius = 50;
//设置边框半径
self.myView.layer.borderColor = [[UIColor colorWithRed:1.000 green:0.063 blue:0.125 alpha:1.000]CGColor];
//设置边框宽度
self.myView.layer.borderWidth = 1;
***
####图形二: 创建一个CALayer 对象, 然后设置响应的属性
//创建对象
CALayer *layer = [CALayer layer];
//设置尺寸
layer.bounds = CGRectMake(0, 0, 100, 100);
//设置位置
layer.position = CGPointMake(200, 300);
//设置背景颜色
layer.backgroundColor = [[UIColor orangeColor]CGColor];
[self.view.layer addSublayer:layer];```