考虑一个屏幕点(CGPoint)和一个视图(UIView),它位于视图层次结构中的某个位置(它可以是其他视图的子视图)。
如何将点转换为相对于视图坐标的点?
答案 0 :(得分:54)
首先,将点从屏幕坐标转换为主窗口的坐标:
UIWindow *mainWindow = [[UIApplication sharedApplication] keyWindow];
CGPoint pointInWindowCoords = [mainWindow convertPoint:pointInScreenCoords fromWindow:nil];
其次,将点从窗口坐标转换为视图坐标:
CGPoint pointInViewCoords = [myView convertPoint:pointInWindowCoords fromView:mainWindow];