什么是CALayer(在UIView的layer
属性中可见,我们将在哪里使用这样的类?
UIView是一个聚合类。它包含事件响应程序链的“内容”,用于处理视图层次结构的内容等,以及有关在显示器上绘制内容的内容。 UIView的CALayer只是有关绘制内容的内容:图像位,比例,变换,动画属性等。
可可触摸界面是通过合成图层来绘制的...视图位于窗口顶部。 CALayer是合成堆栈中的一层,位于某些层之上,并且可能位于其他层之下。 (例如,拆分视图中的表格单元格中按钮中的图像等)
如果您想对视图绘制或显示的内容做一些特殊的事情,而UIView类方法中没有提供这些东西,则可以直接进入CALayer来做一些特殊的事情:也许在视图和/或图像,屏幕外绘画,自定义动画等。
Apple CALayer Class Reference文档中还有很多解释
UIView是基于CALayers构建的。这只是一个类,是UIViews的可视内容。只需使用NSLog打印UIView并检查,我们可以看到其内容层和框架。使用Core Graphics直接与CALayers一起使用,而UIView是UIKit元素。self.view.layer.backgroundColor = [UIColor redColor].CGColor;