图层layer基本使用

2019-01-10  本文已影响0人  丹丹十个胆小鬼

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

上一篇 下一篇

猜你喜欢

热点阅读