iPhone – 在整个UIWindow中获取UIView的位置

UIView的位置显然可以通过view.center或view.frame等来确定,但是这只返回UIView相对于它的直接superview的位置。

我需要确定UIView在整个320×480坐标系统中的位置。例如,如果UIView在一个UITableViewCell它的位置在窗口内可以改变,无论超级监视。

任何想法如果和如何这是可能的?

干杯:)

最佳答案
这是一个容易的:

[aView convertPoint:localPosition toView:nil];

…将局部坐标空间中的点转换为窗口坐标。您可以使用此方法在窗口空间中计算视图的原点,如下所示:

[aView.superview convertPoint:aView.frame.origin toView:nil];

2014编辑:看看Matt__C的评论的普及,似乎合理地指出坐标…

>旋转设备时请勿更换。
>始终位于未旋转屏幕的左上角。
>是窗口坐标:坐标系由窗口的边界定义。屏幕和设备坐标系是不同的,不应该与窗口坐标混合。

转载注明原文:iPhone – 在整个UIWindow中获取UIView的位置 - 代码日志