Подтвердить что ты не робот

Преобразование координат между родительским/дочерним UIView после CGAffineTransform

Прежде чем я начну делать все вручную, я хотел бы спросить, есть ли какая-то помощь, чтобы получить из рамки.

У меня есть UIView, который содержит еще один UIView с картой. Родительский UIView содержит некоторые легенды для карты. Сначала я определяю некоторые координаты в виде карты. например (100, 40) и разместите там фрагмент графики в родительском представлении (например, на картах Google и т.д.). Родительский вид и дочерний вид - это 300x200 и имеют одинаковое происхождение. Это означает, что (100, 40) является одной и той же точкой в ​​обоих представлениях.

Теперь я масштабирую и перемещаю дочерний UIView (карту) с помощью CGAffineTransform, а координата (100, 40) теперь находится где-то в другом месте. Родительский вид фактически представляет собой маску.

Могу ли я использовать матрицу CGAffineTransform Matrix или другую часть фреймворка, чтобы рассчитать и сообщить родительскому представлению, куда поместить галочку теперь, когда точка переместилась?

то есть. (100, 400) в представлении дочернего элемента по сравнению с (100, 40) в родительском представлении, с чем он сравнивается после преобразования?

Спасибо за предложения или помощь.

Анимация дочернего UIView

    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:1.0]; 
    CGAffineTransform transform = CGAffineTransformMakeScale(1.8f, 1.8f);
    worldMap.transform = transform;
    worldMap.bounds.origin = newPos;
    [UIView commitAnimations];
4b9b3361

Ответ 1

UIView -convertPoint:toView: и -convertPoint:fromView: должны работать для вас.