UIView和CALayer

2019-11-28  本文已影响0人  focusHYD

UIView和CALayer

1: 从框架来说

CALayer 基于 QuartzCore 框架

UIView 基于 UIKit 框架

2: 从父类来说

使用CALayer同样可以实现与UIImageView一样的展示效果。那么到底有什么区别呢?

其实、CALayer是直接继承自NSObject的、而UIView是直接继承自UIResponder的。

所以、相比于CALayer来说、UIView多了一个事件处理功能、也就是说、CALayer是不能处理用户的触摸事件的、而UIView可以。

那么、当我们展示出来的东西需要实现和用户交互的时候去使用UIView、而不需要的交互的时候CALayer和UIView都可以。

当然、由于CALayer不需要处理交互事件、所以是轻量级的、性能要比UIView高。

3:最大的区别是图层(CALayer)不会直接渲染到屏幕上。

UIView是iOS系统中界面元素的基础,所有界面元素都是继承自它。它本身完全是由CoreAnimation来实现。

真正的绘图部分,是由一个CALayer类来管理。

一个UIView上可以由n个CALayer,每个CALayer显示一种东西,增强UIView的展现能力。

上一篇下一篇

猜你喜欢

热点阅读