0

这是一张图片:

在此处输入图像描述

有没有办法将图层(您绘制的区域)扩大到更大。起初我以为 (0,0) 是中心,但似乎它是图层的起点。我计划在 (0,0) 处绘制内容,然后根据需要进行翻译。

或者,我必须在图层中心绘制任何内容(宽度/2,高度/2),然后根据需要进行翻译吗?

EDIT_01:图层的偏移量是通过平移手势识别器进行的。这是故意的,因为应用程序必须有内容平移。

4

1 回答 1

1

答案

起初我以为 (0,0) 是中心,但似乎它是图层的起点

iOS 中的 (0,0) 从图层的左上角开始,从右到下越来越大。在 OS X 中,(0,0) 从左下角开始,从右到上越来越大。

有没有办法扩展图层(你绘制的区域),更大

我的问题是,你需要吗?这可能会出现性能问题,因为您在不需要时渲染和存储绘图数据,从而导致使用更多内存。看起来您的图层正确填充了屏幕,只是翻译不正确。如果将其移动到正确的位置,则无需将图层扩展至屏幕外。

并不意味着您不能在屏幕外翻译其他图层,当然可以。但实际上您不想扩大绘图区域的大小以扩大屏幕外。

我必须在图层中心绘制任何内容(宽度/2,高度/2),然后根据需要进行翻译吗?

如果您希望它们被吸引到中心,那么可以。您可以创建自己的方法将自己的坐标空间转换为图层的坐标空间,以使您更轻松。

文档

我建议阅读这篇文章,以更好地掌握以下几何工作CALayerhttps ://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CoreAnimation_guide/Articles/Layers.html#//apple_ref /doc/uid/TP40006082-SW1

...这是了解绘图技术: https ://developer.apple.com/library/ios/#documentation/graphicsimaging/conceptual/drawingwithquartz2d/dq_layers/dq_layers.html

于 2012-11-23T13:58:16.903 回答