iOS - помощь по математике - при увеличении базового изображения жесты должны накладываться на изображения, корректировать координаты X / Y относительно
У меня есть приложение для iPad, которое имеет базовое изображение UIImageView (в данном случае это крупное здание или план или схема участка), а затем несколько «контактов». может быть добавлен в верхней части плана (визуально похож на Google Maps). Эти контакты также являются UIImageViews и добавляются к основному виду жестов. Базовое изображение также добавляется в основной вид на viewDidLoad.
У меня есть базовое изображение, работающее с жестом пинч для масштабирования, но, очевидно, когда вы масштабируете базовое изображение, все выводы остаются в тех же координатах x и y основного вида и теряют относительное положение на базовом изображении (чьи x, y и ширина, координаты высоты изменились).
Пока у меня есть это ...
- (IBAction)planZoom:(UIPinchGestureRecognizer *) recognizer;
{
recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
recognizer.scale = 1;
for (ZonePin *pin in planContainer.subviews) {
if ([pin isKindOfClass:[ZonePin class]]){
CGRect pinFrame = pin.frame;
// ****************************************
// code to reposition the pins goes here...
// ****************************************
pin.frame = pinFrame;
}
}
}
Мне нужна помощь, чтобы вычислить математику, чтобы переместить координаты пинов x / y, чтобы сохранить там относительное положение на увеличенном или уменьшенном плане / диаграмме. Очевидно, что штифты вообще не хотят масштабироваться / масштабироваться с точки зрения их ширины или высоты - им просто нужны новые координаты x и y относительно их начальных положений на плане.
Я сам пытался отработать математику, но изо всех сил пытался ее проработать, и, к сожалению, я еще недостаточно знаком с SDK, чтобы знать, есть ли в нем встроенные условия, чтобы помочь или нет.
Помощь с этой математической проблемой была бы очень признательна! :)
Большое спасибо, Майкл. InNeedOfMathTuition.com