view layer 视图 图层

树状层级结构
每个view都有一个layer,但是也有一些不依附view单独存在的layer,如CAShapelayer。

1.每个 UIView 内部都有一个 CALayer 在背后提供内容的绘制和显示。两者都有树状层级结构,layer 内部有 SubLayers,View 内部有 SubViews.但是 Layer 比 View 多了个AnchorPoint。
2.在 View显示的时候,UIView 做为 Layer 的CALayerDelegate,View 的显示内容取决于内部的 CALayer 的 display
3.layer 内部维护着三分layer tree,分别是 presentLayer Tree(动画树),modeLayer Tree(模型树), Render Tree (渲染树),在做 iOS动画的时候,我们修改动画的属性,在动画的其实是 Layer 的 presentLayer的属性值,而最终展示在界面上的其实是提供 View的modelLayer

4.和UIView最大的不同是CALayer不处理用户的交互
UIView 继承自UIResponder类。在 UIResponder中定义了处理各种事件和事件传递的接口, 而 CALayer直接继承 NSObject,并没有相应的处理事件的接口。

https://www.w3cschool.cn/ioscoreanimation/yli31i9i.html
https://www.jianshu.com/p/ed40da9303b1
https://www.jianshu.com/p/079e5cf0f014

你可能感兴趣的:(view layer 视图 图层)