0

view 和 view.layer 是什么关系。例如, view.layer 具有属性 position。和view有物业中心。如果我改变图层的位置,视图会改变中心属性吗?如果我更改 view.layer 的边界,视图是否也会更改其边界属性?

4

2 回答 2

2

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

stackmonster 所说的其他关于不直接操作图层和动画性能差的事情是完全错误的。核心动画基于层。对于许多简单的动画,您可以使用 UIView 动画,但是有整个类的动画和其他需要您直接创建和使用图层的东西。所有 CAAnimation 对象都作用于图层,并且有许多非常酷的技巧只能通过直接操作图层来完成。我一直使用图层来绘制和动画。

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

于 2012-10-22T00:03:37.787 回答
0

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

一般来说,您不会手动操作层,但是您可以在 API 调用中引用它们,以便底层框架可以尝试为您解决所有这些问题。否则,您在 iOS 中的动画性能将非常糟糕。

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

于 2012-10-21T03:16:58.630 回答