iOS - Ajuda matemática - imagem de base aumenta com o gesto de pinça precisa de imagens sobrepostas ajusta as coordenadas X / Y relativas

Eu tenho um aplicativo para iPad que tem uma imagem de base UIImageView (neste caso, um grande edifício ou plano de site ou diagrama) e, em seguida, vários "pinos" podem ser adicionados no topo do plano (visualmente semelhante ao Google Maps). Esses pinos também são UIImageViews e são adicionados à visualização principal em gestos de toque. A imagem base também é adicionada à visualização principal em viewDidLoad.

Eu tenho a imagem de base trabalhando com o gesto de pinçar para zoom, mas obviamente quando você ampliar a imagem base todos os pinos permanecem nas mesmas coordenadas xey da vista principal e solta o posicionamento relativo na imagem base (cujos x, y e as coordenadas da largura, altura mudaram).

Até agora eu tenho isso ...

- (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;
        }
    }
}

Preciso de ajuda para calcular a matemática para reposicionar as coordenadas dos pinos x / y para reter a posição relativa no plano / diagrama ampliado ou reduzido. Os pinos obviamente não querem ser redimensionados / ampliados em termos de largura ou altura - eles precisam apenas de novas coordenadas xey que são relativas às posições iniciais no plano.

Eu tentei resolver as contas sozinho, mas tenho lutado para resolver o problema e, infelizmente, ainda não estou familiarizado com o SDK o suficiente para saber se há recursos disponíveis para ajudar ou não.

Ajuda com este problema de matemática seria muito apreciada! :)

Muito obrigado, Michael. InNeedOfMathTuition.com

questionAnswers(2)

yourAnswerToTheQuestion