CALayer

作者: junden | 来源:发表于2016-08-18 23:04 被阅读0次
  • CALayer 图层
    • 所有显示的东西都要放到这个图层上,uiview本身不具备显示功能,是他内部的layer才具有显示功能, 最主要,可以添加动画
    • CALayer是定义在QuartzCore框架中,而UIColor,UIImage是定义在UIKit框架中的,CGImageRef,CGColorRef是定义在CoreGraphics框架中的,
    • QuartzCore和CoreGraphics是可以跨平台使用的,mac和ios都可以用,而UIKit只能用在IOS中,为了保证移植性.
    • 通过操作CALayer对象,可以很方便的调整uiview的一些外观属性,有主层,和内容层
      • 阴影(shadowOpacity不透明度),圆角大小,边框宽度,等
      • 颜色,图层的颜色都是CG(C语音的东西)的,需要通过[UIColor color].CGColor (类似贝瑟路径转CGPath)来转换
      • 边框(border),圆角半径(cornerRadiu)都是设置的是主层边框,
      • 形变 (transform),可以3D的进行改变,用CATransform对应的函数
      • position 是以父控件左上角为原点
      • anchorPoint(锚点),这个点只有layer有,UIview是不同的。以自己本身左上角为原点,类似bounds。他的X,Y的取值范围是0~1,默认为(0.5,0.5)
        • 这个点决定着layer身上哪个点会在position属性所指的位置.旋转的时候,绕着锚点旋转。
    • 改变layer的frame会影响到uiview.frame,两者会保持一致
    • 新建layer[CALayer layer],需要设置frame ,图层只能添加到图层上面,sublayer
      • contents,内容层如果设置图片的话,需要转为CGimage. 如
        layer.contents = (id)[UIImage imageNamed:@"阿狸头像"].CGImage;
  • UIView与CALayer直接的选择
    • UIView是继承于UIrespond可对事件处理,
    • 如果只是为了显示东西,用CALayer会比较高性能.

CAReplicatorLayer

1、什么是CAReplicatorLayer?

一种可以复制自己子层的layer,并且复制出来的layer和原生子层有同样的属性,位置,形变,动画。

2、CAReplicatorLayer属性

  • instanceCount: 子层总数(包括原生子层)
  • instanceDelay: 复制子层动画延迟时长,每个都是相对上一个的延迟时间
  • instanceTransform: 复制子层形变(不包括原生子层),每个复制子层都是相对上一个。
  • instanceColor: 子层颜色,会和原生子层背景色冲突,因此二者选其一设置。
  • instanceRedOffset、instanceGreenOffset、instanceBlueOffset、instanceAlphaOffset: 颜色通道偏移量,每个复制子层都是相对上一个的偏移量。

CAShapeLayer

  • 这里需要用到CAShapeLayer,可以根据一个路径,生成一个图层,展示出来。把形变图层添加到父控件并且显示在小圆图层下就OK了。因为所有计算出来的点,都是基于父控件。

相关文章

  • 动画 (1) ----- CALayer

    CALayer 和 UIView 联系CALayer的相关属性CALayer之隐式动画 一. CALayer 和 ...

  • CALayer与UIView的区别

    CALayer与UIView的区别 基础 CALayer的定义 CALayer的基础 CALayer和UIView...

  • UIView和CALayer

    1. UIView和CALayer CALayer负责显示内容contents UIView为CALayer提供现...

  • 设置view任意边框border

    CALayer *bottomBorder = [CALayer layer]; bottomBorder.f...

  • CALayer 简介

    CALayer1-简介CALayer2-创建新的层 CALayer3-层的属性 CALayer4-自定义层 CAL...

  • CALyer介绍

    CALayer1-简介CALayer2-创建新的层CALayer3-层的属性CALayer4-自定义层 注意点 第...

  • iOS-view圆角与阴影并存

    CALayer *subLayer = [CALayer layer];CGRect fixframe = vie...

  • CALayer(一)

    CALayer属性 view和layer的关系 CALayer属性表如下 CALayer和UIView的区别 1....

  • UIView和CALayer

    UIView和CALayer和有什么关系 UIview中有个属性layer,是CALayer类型。 CALayer...

  • 问题汇总

    1、UIView和CALayer区别UIView和CALayer的区别.UIView相对于CAlayer来说就多了...

网友评论

      本文标题: CALayer

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