Consider a 开发者_开发问答screen point (CGPoint) and a view (UIView), which is somewhere inside the view hierarchy (it can be a subview of other views).
How can you convert the point to a point relative to the view's coordinates?
First, convert the point from screen coordinates to the coordinates of your main window:
UIWindow *mainWindow = [[UIApplication sharedApplication] keyWindow];
CGPoint pointInWindowCoords = [mainWindow convertPoint:pointInScreenCoords fromWindow:nil];
Second, convert the point from window coords to view coords:
CGPoint pointInViewCoords = [myView convertPoint:pointInWindowCoords fromView:mainWindow];
精彩评论