CGPoint相对于视图

时间:2010-12-04 10:51:27

标签: iphone ios uiview cgpoint

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

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

1 个答案:

答案 0 :(得分:54)

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

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

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

CGPoint pointInViewCoords = [myView convertPoint:pointInWindowCoords fromView:mainWindow];