UIView和CALayer的关系

1.UIView概述

       UIView是IOS中负责显示视图的,并且负责处理视图的点击交互绘画等功能,起码从表面看起来是这样的,他是IOS所有View的父类,比如UILable,UIImageView,UITextView等,如果IOS系统是MVC架构模式,UIView就是其中的V,就负责视图的展示和交互逻辑的处理。

2.CALayer概述

       从官网上看,CALayer并不是IOS自带的UIKit框架,它是属于QuartzCore框架,这个框架是一个专业的跨平台绘制框架,同时兼容IOS和 OS X,说白了CALayer就是个绘画工具类。

3.UIView和CALayer的关系

       刚才介绍UIView的时候我说,表面看起事来UIView也是负责绘制的,其实他只负责用户交互和展示视图,而绘制是用CALayer完成的,我们在初始化一个UIView的时候其实,内部已经初始化了一个它内置的CALayer对象,我们在设置所有UIView的属性的时候,比如bounds,frame,backgroundColor等,其实最终都是设置的CALayer的相应的属性值,然后有CALayer来绘制出来,再有UIView展示出来而已,UIView是一个甘愿默默付出的背后工作者,所有的风光都给了UIView而已,但我们要知道这只是表面现象,这对今后我们自定义UIView和理解动画原理以及使用动画都会有很大的帮住。


UIView和CALayer的关系_第1张图片
背后的工作者CALayer

你可能感兴趣的:(UIView和CALayer的关系)