UIView 的位置显然可以由 view.centerview.frame 等确定,但这只会返回 UIView 与其直接相关的位置。

我需要确定 UIView 在整个 320x480 坐标系中的位置。例如,如果 UIView 位于 UITableViewCell 中,则无论父 View 如何,它在窗口中的位置都可能发生巨大变化。

任何想法是否以及如何可能?

干杯:)

最佳答案

这是一个简单的:

[aView convertPoint:localPosition toView:nil];

... 将局部坐标空间中的一个点转换为窗口坐标。您可以使用此方法在窗口空间中计算 View 的原点,如下所示:
[aView.superview convertPoint:aView.frame.origin toView:nil];

2014 编辑: 看看 Matt__C 评论的受欢迎程度,指出坐标...
  • 旋转设备时不改变。
  • 的原点始终位于未旋转屏幕的左上角。
  • 窗口坐标 :坐标系由窗口的边界定义。屏幕和设备坐标系不同,不应与窗口坐标混淆。
  • 关于iPhone - 在整个 UIWindow 中获取 UIView 的位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1465394/

    10-16 22:19