Вы ищете -[UIView convertPoint:toView:]
.
Например, чтобы получить источник представления view
в терминах базовых координат его окна, вы должны написать:
CGPoint localPoint = [view bounds].origin;
CGPoint basePoint = [view convertPoint:localPoint toView:nil];
Если вы вместо этого хотите преобразовать точку в систему координат какого-либо другого вида в том же окне, вы можете использовать этот вид в качестве аргумента toView:
вместо nil
:
NSAssert([view window] == [otherView window],
@"%s: Views must be part of the same window.", __func__);
CGPoint otherPoint = [view convertPoint:localPoint toView:otherView];
Поскольку разныеСистемы координат могут иметь разные масштабы, вы можете найти -convertRect:toView:
более полезным, в зависимости от того, что вы планируете делать с координатами.Существуют также аналогичные -fromView:
версии методов точечного и прямоугольного преобразования.