美文网首页
CALayer和UIView的区别

CALayer和UIView的区别

作者: Zhui_Do | 来源:发表于2019-04-25 23:52 被阅读0次

CALayer和UIView的区别

1.UIView是UIKit的(只能iOS使用),CALayer是QuartzCore的(iOS和mac os通用)

2.UIView继承UIResponder,CALayer继承NSObject,UIView比CALayer多了一个事件处理的功能,也就是说,CALayer不能处理用户的触摸事件,而UIView可以

3.UIView来自CALayer,是CALayer的高层实现和封装,UIView的所有特性来源于CALayer支持

4.CABasicAnimation,CAAnimation,CAKeyframeAnimation等动画类都需要加到CALayer上

其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层

在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层

@property(nonatomic,readonly,retain) CALayer *layer;

当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己的图层上,绘图完毕后,系统会将图层拷贝到屏幕上,于是就完成了UIView的显示

换句话说,UIView本身不具备显示的功能,是它内部的层才有显示功能

1.UIView是UIKit的(只能iOS使用),CALayer是QuartzCore的(iOS和mac os通用)

2.UIView继承UIResponder,CALayer继承NSObject,UIView比CALayer多了一个事件处理的功能,也就是说,CALayer不能处理用户的触摸事件,而UIView可以

3.UIView来自CALayer,是CALayer的高层实现和封装,UIView的所有特性来源于CALayer支持

4.CABasicAnimation,CAAnimation,CAKeyframeAnimation等动画类都需要加到CALayer上

其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层

在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层

@property(nonatomic,readonly,retain) CALayer *layer;

当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,并且会将所有内容绘制在自己的图层上,绘图完毕后,系统会将图层拷贝到屏幕上,于是就完成了UIView的显示

换句话说,UIView本身不具备显示的功能,是它内部的层才有显示功能

相关文章

  • 问题汇总

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

  • iOS界面渲染流程

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

  • CALayer与UIView的区别

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

  • UIView和CALayer

    问题:UIView和CALayer的区别与联系是什么?UIWindow和UIView和CALayer 的联系和区别...

  • UIView和CALayer

    UIView和CALayer的区别1.UIView和CALayer的最大区别在于UIView可以响应用户事件,而C...

  • UIView和CALayer的区别和联系

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

  • CALayer ---- 属性

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

  • iOS UIView视图事件传递和相应

    UIView 和 CALayer 有什么区别 UIView包含CALayer 的layerUIView 对 CAL...

  • CALayer 和 UIView的区别和联系

    详解CALayer 和 UIView的区别和联系 IOS开发-CALayer和UIView详细汇总 [你给我解析清...

  • UI事件传递&响应

    UIView和CALayer之间的关系和区别UIView和CALayer UIView实际上里面有的属性,一个CA...

网友评论

      本文标题:CALayer和UIView的区别

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