1.CALayer简介
CALayer
又称它叫做层,在每个UIView
内部都有一个layer属性,UIView
之所以能够显示,就是因为它里面有这个层,才具有显示的功能,通过操作CALayer
对象,可以很方便地调整UIView
的一些外观属性,可以给UIView
设置阴影,圆⾓角,边框等等...
2.操作layer改变UIView外观
2.1.设置阴影
默认图层是有阴影的, 只不过,默认是透明的
// 默认图层是有阴影的,只不过默认是透明的
self.imageView.layer.shadowOpacity = 1;
// 设置阴影偏移
self.imageView.layer.shadowOffset = CGSizeMake(20, 20);
// 设置阴影颜色
self.imageView.layer.shadowColor = [UIColor blueColor].CGColor;
2.2.设置边框
设置图层边框,
// 设置边框和颜色
self.imageView.layer.borderWidth = 5;
self.imageView.layer.borderColor = [UIColor blackColor].CGColor;
2.3.设置圆角
// 设置圆角
//注意:UIImageView当中Image并不是直接添加在层上面的.这是添加在layer当中的contents ⾥里. 我们设置层的所有属性它只作用在层上面.对contents⾥面的东西并不起作用.所以我们看不到图片有圆角的效果.
//想要让图片有圆角的效果.可以把masksToBounds这个属性设为YES, 当设为YES,把就会把超过根层以外的东西都给裁剪掉.
self.imageView.layer.cornerRadius = 100;
self.imageView.layer.masksToBounds = YES;
3.操作layer改变UIImageView的外观.
设置图形边框
self.imageView.layer.cornerRadius = 100;
self.imageView.layer.masksToBounds = YES;
注意:
UIImageView
当中Image并不是直接添加在图层上面的,这是添加在layer
当中的contents
里. 设置层的所有属性它只作用在层上⾯面.对contents⾥面的东西并不起作用.所以我们看不到图片有圆角的效果,想要让图⽚片有圆⾓角的效果.可以把masksToBounds
这个属性设为YES, 当设为YES,把就会把超过根层以外的东⻄西都给裁剪掉.
layer的属性会造成离屏渲染,要尽量避免使用,原因是该方式会造成离屏幕渲染消耗性能。
具体离屏渲染请看:https://www.jianshu.com/p/57e2ec17585b
网友评论