如何转换相对于特定视图的窗口坐标?

时间:2010-05-25 17:12:04

标签: iphone uiview coordinates

示例:我在窗口坐标中有一个CGPoint:

CGPoint windowPoint = CGPointMake(220.0f, 400.0f);

aView在超级视图中的超级视图中有超级视图。在视图层次结构深处的某个地方,甚至可能转换了几次。

获得UITouch时,可以询问-locationInView:它将返回相对于该视图的坐标。

我需要几乎相同的东西。有没有一种简单的方法可以实现这一目标?

2 个答案:

答案 0 :(得分:11)

我找到了一个非常简单的解决方案:

[self.aView convertPoint:windowPoint fromView:self.window];

答案 1 :(得分:0)

也许您可以遍历超级视图树,按标记向下钻取子视图,并添加或减去子视图的frame.origin值,以获得相对于感兴趣视图{windowPoint的翻译frame.origin {1}}。