美文网首页
CALayer的简介

CALayer的简介

作者: 迷了jiang | 来源:发表于2016-10-23 21:17 被阅读10次

    简介

    CALayer包含在QuartzCore框架中,这是一个跨平台的框架,既可以用在iOS中又可以用在Mac OS X中。在使用Core Animation开发动画的本质就是将CALayer中的内容转化为位图从而供硬件操作。UIView更像是CALayer的Delegate,UIView是iOS的移动设备为了响应触摸时间而封装出来的,而Mac是只能点击,所以共用CALayer意义就很大了。其实看看UIView继承自UIControl就比较清楚了,看一个类的父类对我们了解一个类的设计很有帮助。

    使用Quartz 2D绘图时就用到了CALayer,drawRect:方法绘图的本质就是绘制到了UIView的layer(属性)中。但是在Core Animation中我们操作更多的则不再是UIView而是直接面对CALayer。下图描绘了CALayer和UIView的关系,在UIView中有一个layer属性作为根图层,根图层上可以放其他子图层,在UIView中所有能够看到的内容都包含在layer中:


    UIView-CALayer

    属性介绍

    属性 说明 是否支持动画
    anchorPoint is 和中心点position重合的一个点,称为“锚点”,锚点的描述是相对于x、y位置比例而言的默认在图像中心点(0.5,0.5)的位置
    backgroundColor 图层背景颜色
    borderColor 边框颜色
    borderWidth 边框宽度
    bounds 图层大小
    contents 图层显示内容,例如可以将图片作为图层内容显示
    contentsRect 图层显示内容的大小和位置
    doubleSided 图层背面是否显示,默认为YES
    frame 图层大小和位置,不支持隐式动画,所以CALayer中很少使用frame,通常使用bounds和position代替
    hidden 是否隐藏
    mask 图层蒙版
    maskToBounds 子图层是否剪切图层边界,默认为NO
    opacity 透明度 ,类似于UIView的alpha
    position 图层中心点位置,类似于UIView的center
    shadowColor 阴影颜色
    shadowOffset 阴影偏移量
    shadowOpacity 阴影透明度,注意默认为0,如果设置阴影必须设置此属性
    shadowPath 阴影的形状
    shadowRadius 阴影模糊半径
    sublayers 子图层
    sublayerTransform 子图层形变
    transform 图层形变

    ---Jiang

    相关文章

      网友评论

          本文标题:CALayer的简介

          本文链接:https://www.haomeiwen.com/subject/etpkuttx.html