美文网首页
认识CALayer和UIView

认识CALayer和UIView

作者: zhaihongxia | 来源:发表于2017-06-29 09:07 被阅读0次

1.UIView继承UIResponde,可以响应事件。                                                    UIResponder中定义了处理各种事件和事件传递的接口,直接间接继承UIResponder类还有:UIApplication、UIViewController、UIView、和所有从UIView派生出来的UIKit类包括UIWindow。

CALayer直接继承NSObject,不可以响应事件。

2.CoreAnimation

CoreAnimation是对上层的封装,介于UIKit与CoreGraphics(绘图)、OpenGL/OpenGL  ES(渲染管线)之间。最底下还有一个Graphics Hardware,就是硬件。

3.Window与Layer之间的关系

此图告诉我们,层是基于绘画模型实现的,层不会在app中做什么,只是捕获app所提供的内容,并缓存成bitmap(位图文件),当任何与层关联的属性值发生时,CoreAnimation就会将新的bitmap传给绘图硬件,并根据新的位图更新显示。

UIView完全是由CoreAnimation来实现的,绘图部分由一个CALayer类来管理,例如:frame,bounds等,实际上内部都是在访问它所包含的CALayer的相关属性。

提示:layer-base drawing  不同于  view-base drawing ,后者的性能消耗是很高的,它是在主线程上直接通过CPU完成,而且通常在-drawRect:中绘制动画。

4.UIView和CALayer的联系

UIview默认包含一个layer属性,而layer是可以包含很多个sublayer的,UIView就像一个画板,而layer就像画布,一个画板上可以有很多块画布,画布不能有画板

UIView负责管理内容      CALayer负责渲染和呈现

CALayer维护着三个layer  tree :  presentLayer  Tree(呈现树)、modeLayer  Tree、render Tree(渲染树)。

在做动画时,修改动画的属性就是修改的是presentLayer属性值,展示在界面就是提供UIView的modelLayer。

相关文章

  • iOS简书修道第一天

    一、CALayer和UIView的认识 1、CALayer是UIView的渲染层,他比UIView更轻量,UIVi...

  • 认识CALayer和UIView

    1.UIView继承UIResponde,可以响应事件。 UIR...

  • 问题汇总

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

  • CALayer与UIView的区别

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

  • UIView和CALayer

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

  • UIView和CALayer

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

  • UIView和CALayer的区别和联系

    UIView和CALayer的区别和联系 1.UiView和CALayer是什么 CALayer 是动画中经常使用...

  • UIView和CALayer

    UIView和CALayer 1: 从框架来说 CALayer 基于 QuartzCore 框架 UIView 基...

  • CALayer ---- 属性

    一 . CALayer 属性列表如下 二 . UIView和CALayer的区别和选择 UIView和CALaye...

  • iOS界面渲染流程

    前言:关系图 一、UIView 和 CALayer 的区别 ([详解CALayer 和 UIView的区别和联系]...

网友评论

      本文标题:认识CALayer和UIView

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