CGPoint относительно просмотра - PullRequest
24 голосов
/ 04 декабря 2010

Рассмотрим точку экрана (CGPoint) и вид (UIView), который находится где-то внутри иерархии видов (это может быть подвидом других видов).

Как преобразовать точку в точку, относящуюся к координатам вида?

1 Ответ

54 голосов
/ 04 декабря 2010

Сначала преобразуйте точку из координат экрана в координаты вашего главного окна:

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

Во-вторых, преобразуйте точку из координат окна для просмотра координат:

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