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

标签 iphone cocoa-touch ios uiview uiwindow

UIView 的位置显然可以通过 view.centerview.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 评论的受欢迎程度来看,似乎有理由指出坐标...

  1. 旋转设备时不要改变。
  2. 始终将原点放在未旋转屏幕的左上角。
  3. 窗口坐标:坐标系由窗口的边界定义。屏幕坐标系和设备坐标系不同,不应与窗口坐标混淆。

关于iPhone - 获取 UIView 在整个 UIWindow 中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1465394/

相关文章:

iphone - GameKit:向其他玩家发送可靠的 NSData?

iphone - 从 NSMutableArray 获取特定值

ios - 更新到 iOS 7 后,iOS 6 中的所有 View 都向上移动并被导航栏隐藏

ios - Flutter iOS RevenueCat 未捕获异常 'NSInternalInconsistencyException'

iphone - UIScrollView 始终有动画!

iphone - 用于 UIView 的 iOS initWithNibName

iphone - iphone 应用程序开发的所有初学者都应该注意什么?

iphone - 适用于 iOS 4 应用程序的 Xcode 4.2 模板

ios - Firebase 应用程序在快速启动时崩溃

ios - (Swift) 如何在字符串中打印 "\"字符?