UIView
的位置显然可以通过 view.center
或 view.frame
等来确定,但这只会返回UIView
与其直接 super View 相关。
我需要确定 UIView
在整个 320x480 坐标系中的位置。例如,如果 UIView
位于 UITableViewCell
中,则无论父 View 如何,它在窗口中的位置都可能发生显着变化。
有什么想法可以实现吗?
干杯:)
最佳答案
这很简单:
[aView convertPoint:localPosition toView:nil];
... 将局部坐标空间中的点转换为窗口坐标。您可以使用此方法来计算 View 在窗口空间中的原点,如下所示:
[aView.superview convertPoint:aView.frame.origin toView:nil];
2014 年编辑:从 Matt__C 评论的受欢迎程度来看,似乎有理由指出坐标...
- 旋转设备时不要改变。
- 始终将原点放在未旋转屏幕的左上角。
- 是窗口坐标:坐标系由窗口的边界定义。屏幕坐标系和设备坐标系不同,不应与窗口坐标混淆。
关于iPhone - 获取 UIView 在整个 UIWindow 中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1465394/