UIView与CLayer有什么区别【面试题详解】

今天爱分享给大家带来 UIView与CLayer有什么区别【面试题详解】,希望能够帮助到大家。
1.UIView是OS系统中界面元素的基础,所有的界面元素都是继承自
它。它本身完全是由CoreA nimation来实现的。它真正的绘图部分,是由 一个CALayer类来管理。UIView本身更像是一个CALayer的管理器,访 问它的跟绘图和跟坐标有关的属性。

2.UIView有个重要属性layer ,可以返回它的主CALayer实例。

3.UIView的CALayer类似UIView的子View树形结构,也可以向它的 layer上添加子layer ,来完成某些特殊的表示。即CALayer层是可以嵌套 的。

4.UIView的layer树形在系统内部,被维护着三份copy。分别是逻辑

树,这里是代码可以操纵的;动画树,是一个中间层,系统就在这一层上 更改属性,进行各种渲染操作;显示树5,其内容就是当前正被显示在屏幕 上得内容。

5.动画的运作:对UIView的subLayer (非主Layer )属性进行更改,系 统将自动进行动画生成,动画持续时间的缺省值似乎是0.5秒。

6.坐标系统:CALayer的坐标系统比UIView多了一个anchorPoint属

性,使用C GPoi nt结构表示,值域是0�9�11,是个比例值。这个点是各种图 形变换的坐标原点,同时会更改layer的positio n的位置,它的缺省值是 {0.5,0.5},即在 layer 的中央。

7.渲染:当更新层,改变不能立即显示在屏幕上。当所有的层都准备好 时,可以调用setNeedsDisplay方法来重绘显示。

8.变换:要在一个层中添加一个3D或仿射变换,可以分别设置层的 tran sform 或 affi neTra nsform 属性。

9.变形:Quartz Core的渲染能力,使二维图像可以被自由操纵,就好像 是三维的。图像可以在一个三维坐标系中以任意角度被旋转,缩放和倾 斜。CATransform3D的一套方法提供了一些魔术般的变换效果。

人已赞赏
IOS

Cocoa Touch提供了哪几种Core Animation过渡类型【面试题详解】

2020-12-8 17:20:07

IOS

Quatrz 2D的绘图功能的三个核心概念是什么并简述其作用【面试题详解】

2020-12-8 17:52:18