美文网首页
对UILayer & UIView的理解

对UILayer & UIView的理解

作者: guoshengboy | 来源:发表于2020-01-07 08:37 被阅读0次

    1.首先UIView可以响应事件,Layer不可以.

    UIview继承UIResponder 而Layer继承NSObject

    2.View和CALayer的Frame映射及View如何创建CALayer.

    一个 Layer 的 frame 是由它的 anchorPoint,position,bounds,和 transform 共同决定的,而一个 View 的 frame 只是简单的返回 Layer的 frame。
    anchorPoint(锚点):一般默认锚点(0.5,0.5),如果改变锚点,那么这个视图frame就会改变
    position:表示当前视图的锚点相对于父视图的Layer的位置坐标

    3.UIView主要是对显示内容的管理而 CALayer 主要侧重显示内容的绘制。

    在 View显示的时候,UIView 做为 Layer 的 CALayerDelegate,View 的显示内容由内部的 CALayer 的 display

    4.layer tree

    UIView的layer树形在系统内部,被维护着三份copy。分别是:
    1.逻辑树,就是代码里可以操纵的,例如更改layer的属性等等就在这一份
    2.动画树,这是一个中间层,系统正是在这一层上更改属性,进行各种渲染操作
    3.显示树,这棵树的内容是当前正被显示在屏幕上的内容

    相关文章

      网友评论

          本文标题:对UILayer & UIView的理解

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