【发布时间】:2012-09-13 12:39:51
【问题描述】:
在我的 iOS 应用程序中,我将几个 UIImages 放在一个背面 UIImage 上,然后通过以编程方式截取屏幕截图来保存整个背面图像以及添加的所有子图像。
现在我想更改该保存图像的子视图 UIImages 位置。所以想知道如何检测子视图图像的位置,因为我已经将整个图像作为屏幕截图。
【问题讨论】:
在我的 iOS 应用程序中,我将几个 UIImages 放在一个背面 UIImage 上,然后通过以编程方式截取屏幕截图来保存整个背面图像以及添加的所有子图像。
现在我想更改该保存图像的子视图 UIImages 位置。所以想知道如何检测子视图图像的位置,因为我已经将整个图像作为屏幕截图。
【问题讨论】:
将它们的框架记录为转换为窗口坐标。图像的像素应该与帧原点(正常)相同或视网膜的两倍。屏幕截图是整个屏幕的,所以它的尺寸相当于窗框。 UIView 有一些方便的方法可以将任意视图框架转换为其他视图(或窗口)坐标。
编辑:要处理内容匹配,您必须自己计算。你知道 imageView 的 frame,你可以询问 image 的大小。知道每个的纵横比可以让您确定图像完全适合哪个维度,然后您可以计算另一个维度(这将是一个小于 imageView 帧的值。将视图维度减去图像维度的差除以二,这可以让您知道视图内图像的偏移量。现在您可以将图像的框架保存为视图中显示的内容。
【讨论】: