24

考虑一个屏幕点 (CGPoint) 和一个视图 (UIView),它位于视图层次结构中的某个位置(它可以是其他视图的子视图)。

如何将点转换为相对于视图坐标的点?

4

1 回答 1

54

首先,将点从屏幕坐标转换为主窗口的坐标:

UIWindow *mainWindow = [[UIApplication sharedApplication] keyWindow];
CGPoint pointInWindowCoords = [mainWindow convertPoint:pointInScreenCoords fromWindow:nil];

其次,将点从窗口坐标转换为视图坐标:

CGPoint pointInViewCoords = [myView convertPoint:pointInWindowCoords fromView:mainWindow];
于 2010-12-04T12:09:39.417 回答