动画_CALayer

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

推荐阅读更多精彩内容

  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 5,147评论 5 13
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 8,578评论 6 30
  • 一、前言 Core Animation 主要依赖于CALayer的对象layer来进行一切与动画有关的操作。在vi...
    nuclear阅读 1,799评论 0 7
  • 转载:http://www.jianshu.com/p/32fcadd12108 每个UIView有一个伙伴称为l...
    F麦子阅读 6,321评论 0 13
  • 每个UIView有一个伙伴称为layer,一个CALayer。UIView实际上并没有把自己画到屏幕上;它绘制本身...
    shenzhenboy阅读 3,160评论 0 17