• CALayer的基本操作


     CALayer简介:

     

    CALayer又称为层.

    在每一个UIView内部都有一个Layer这样的属性.

    UIView之所以能够显示,就是因为它里面有这个一个层,才具有显示的功能.

    我们通过操作CALayer对象,可以很方便的调整UIView的一些外观属性.

    可以给UIView设置阴影,圆角,边框等等.....

    操作layer改变UIView外观

    设置阴影

    默认图层是有阴影的,只不过是透明的

     RedView.layer.shadowOpacity = 1;

    设置阴影的圆角

    RedView.layer.shadowRadius = 10;

    设置阴影的颜色,把UIKit转换成CoreGraphics的CGColorRef

    RedView.layer.borderColor = [UIColor whiteColor].CGColor;

     

    设置边框

    设置图层边框,在图层中使用CoreGraphics的CGColorRef

    RedView.layer.borderColor = [UIColor whiteColor].CGColor.
    RedView.layer.borderWidth = 2;

     

    设置圆角

    设置图层圆角半径,圆角半径为宽度的一半,就是一个圆

    RedView.layer.cornerRadius = 50;

     

    操作layer改变UIImageView的外观.

    设置图形边框

    imageView.layer.borderWidth = 2;
    imageView.layer.borderColor = [UIColor whiteColor].CGColor;

    设置图片的圆角半径

    imageView.layer.cornRadius= 50;

    裁剪,超出裁剪区域的部分全部裁剪掉

    imageView.layer.masksToBounds = YES;

    注意: UIImageView当中image并不是直接添加在层上面的.这是添加在layer当中的contents里

    我们设置层的所有属性它只作用在层上面.对contents里面的东西并不起作用,所以我们看不到图片的圆角效果

    想要让图片有圆角效果,可以吧masksToBounds这个属性设为YES,

    当设置为YES,就会把超过根层以外的东西都给裁剪掉.

     layer 的CATransform3D属性

    只有旋转的时候才可以看出3D属性X,Y,Z分别代表X,Y,Z轴.

    旋转

       CATransform3DmakeRotation(M_Pl,1,0,0);

    平移

       CATransform3DMakeTranslation(X,Y,Z);

    缩放

      CATransform3DMakeScale(X,Y,Z);

    可以通过KVC的方式进行设置属性.

    但是CATransform3DMakeRotation它的值是一个结构体,所以要把结构体转换为对象.

     NSValue *value = [NSValue valueWithCATransform3D:CATransform3DmakeRotation(M_PI,1, 0, 0);
        [imageView.layer setValue:value forkeyPath:@"transform.scale"];

    什么时候使用KVC?当需要一些快速缩放,平移,二维的旋转时用KVC.

  • 相关阅读:
    WindowsServer 2016激活
    selenium浏览器复用与原理分析
    react脚手架: 配置代理
    网络请求方式
    Java: Excel导入导出
    react 组件通信方式
    react: reactrouterdom
    react: 高阶函数及函数柯里化
    react: 事件处理
    react: 生命周期
  • 原文地址:https://www.cnblogs.com/fengmin/p/5576551.html
Copyright © 2020-2023  润新知