美文网首页
UIView和CALayer的区别和联系?

UIView和CALayer的区别和联系?

作者: 是超超呀 | 来源:发表于2021-04-23 11:19 被阅读0次

    UIView和CALayer的区别和联系?

    UIView:继承自UIResponder:NSObject ,UIResponder中定义了各种事件和事件传递的接口。视图的基类

    CALayer:继承自NSObject 

    UIView提供以下两个方法,来进行iOS中的事件的响应和传递

    - (nullable UIView *)hitTest:(CGPoint)point withEvent:(nullable UIEvent *)event;

    - (BOOL)pointInside:(CGPoint)point withEvent:(nullable UIEvent *)event;

    区别:

    UIView:可以响应事件,CALayer:不能响应事件

    UIView:负责显示内容的管理  CALayer:负责显示视图的绘制

    联系:

    每个UIView内部都有一个CALayer在背后提供内容的绘制和显示,并且 UIView 的尺寸样式都由内部的 Layer 所提供。两者都有树状层级结构,layer 内部有 SubLayers,View 内部有 SubViews.但是 Layer 比 View 多了个AnchorPoint。

    当UIView需要显示的时候,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己的图层上(CALayer上),系统将图层拷贝到屏幕上,完成UIView的显示。

    UIView来自CALayer,高于CALayer,是CALayer的高层实现与封装。

    相关文章

      网友评论

          本文标题:UIView和CALayer的区别和联系?

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