view和view.layer之间的关系是什么?

时间:2012-10-21 03:11:09

标签: ios core-animation

view和view.layer之间的关系是什么。例如,view.layer具有属性位置。和视图有物业中心。如果我改变图层的位置,是否会查看更改中心属性?如果我改变了view.layer的边界,那么视图是否也改变了它的bounds属性?

2 个答案:

答案 0 :(得分:2)

视图由图层支持。正如stackmonster所说,一个图层描述了系统用于向屏幕呈现矩形内容区域的低级绘图上下文。

另外一件事,关于不直接操纵图层,以及糟糕的动画表现,其他事情都是错误的。核心动画基于图层。对于许多简单的动画,您可以使用UIView动画,但是有完整的动画类和其他需要您直接创建和使用图层的东西。所有CAAnimation对象都作用于图层,并且您可以通过直接操作图层来执行许多非常酷的技巧。我一直使用图层进行绘图和动画。

图层和视图使用稍微不同的属性来控制它们在屏幕上的位置。如您所说,视图具有中心属性,而图层具有位置属性。它们是类似的。

答案 1 :(得分:0)

图层表示图形上下文,它可能共享多个剪切区域,但也可能出于性能原因聚合绘图操作,有时这会受到重叠视图或具有冲突的alpha(透明度)值的动画效果的限制。

通常,您不会手动操作图层,但是您可以在API调用中引用它们,以便底层框架可以尝试为您排序所有这些。否则你在iOS中会有非常可怕的动画效果。

除非您正在进行非常低级别的图形编码,否则我不知道为什么要直接操作图层边界。