CALayer
修改外观
1.阴影
2.边框
3.圆角
4.用layer操作UIImageView,修改外观
1.CALayer简介
CALayer我们 称它叫做层. 在每个UIView内部都有 个layer这样 个属性. UIView之所以能够显 ,就是因为它 有这个 个层,才具有显 的功能. 我们通过操作CALayer对象,可以很 便地调整UIView的 些外观属性. 可以给UIView设置阴影,圆 ,边框等等
2.操作layer改变UIView外观
// 把UIKit转换成CoreGraphics框架CG开头
// 1.阴影
// 设置阴影必须要修改他的不透明度
// 默认图层是有阴影的,只不过是透明的
self.redView.layer.shadowOpacity = 1;
self.redView.layer.shadowOffset = CGSizeMake(10, 10);
self.redView.layer.shadowColor = [UIColor yellowColor].CGColor;
// 设置阴影的圆角
self.redView.layer.shadowRadius = 10;
// 2.边框
// 设置边框必须要修改他的边框宽度,边框宽度默认是0
// 在图层中使CoreGraphics的CGColorRef
self.redView.layer.borderWidth = 10;
self.redView.layer.borderColor = [UIColor blueColor].CGColor;
// 3.圆角
// 设置图层的圆角半径,圆的半径为宽度的一半,就是一个圆
self.redView.layer.cornerRadius = 50;
3.操作layer改变UIImageView的外观
// masksToBounds 是否需要剪切子层(除去根层以外的东西)
self.imageV.layer.masksToBounds = YES;
self.imageV.clipsToBounds = YES;
// contents内容层,imageView存放在这里
NSLog(@"%@",self.imageV.layer.contents);
// 注意:UIImageView当中Image并不是直接添加在层上的.这是添加在layer当中的contents层上,我们设置层的所有属性它只作用在跟层上,对contents层的东西并不起作用.所以我们看不到图片有圆角的效果.想要让图片有圆角的效果.可以把masksToBounds这个属性设为YES,当设为YES,把就会把超过根层以外的东西都给裁剪掉.