iOS - Pomoc matematyczna - podstawowe powiększenia obrazu z gestem uszczypnięcia wymagają nałożenia obrazów dopasowania względnych X / Y
Mam aplikację na iPada, która ma podstawowy obraz UIImageView (w tym przypadku duży budynek lub plan terenu lub diagram), a następnie wiele „szpilek” można dodać do planu (wizualnie podobnych do Google Maps). Te piny są także UIImageViews i są dodawane do głównego widoku gestów na stuknięciu. Obraz podstawowy jest również dodawany do głównego widoku w viewDidLoad.
Mam obraz bazowy działający z gestem szczypania do powiększania, ale oczywiście podczas powiększania obrazu podstawowego wszystkie szpilki pozostają w tych samych współrzędnych x i y widoku głównego i tracą tam względne położenie na obrazie podstawowym (którego x, y i szerokość, współrzędne wysokości uległy zmianie).
Do tej pory mam to ...
- (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;
}
}
}
Potrzebuję pomocy, aby obliczyć matematykę, aby zmienić położenie współrzędnych x / y, aby zachować tam względną pozycję na powiększonym lub pomniejszonym planie / diagramie. Kołki oczywiście nie chcą być skalowane / powiększane w ogóle ze względu na ich szerokość lub wysokość - po prostu potrzebują nowych współrzędnych x i y, które są względne w stosunku do początkowych pozycji na planie.
Próbowałem samodzielnie obliczyć matematykę, ale z trudem udało mi się ją przetestować i niestety nie jestem jeszcze zaznajomiony z zestawem SDK na tyle, by wiedzieć, czy istnieje wbudowane narzędzie do pomocy, czy nie.
Pomoc w rozwiązaniu tego problemu związanego z matematyką byłaby naprawdę mile widziana! :)
Wielkie dzięki, Michael. InNeedOfMathTuition.com