Konvertiere Koordinaten zwischen Eltern / Kind UIView nach CGAffineTransform

Bevor ich in alles von hand würde ich mag zu Fragen, wenn es etwas Hilfe, um aus dem Rahmen.

Ich habe eine UIView das hält noch eine UIView mit einer Karte. Die Eltern-UIView hält einige Legenden für die Karte. Zunächst definiere ich einige Koordinaten in der Kartenansicht. z.B. (100, 40), und legen Sie ein Stück von Grafiken gibt es in der übergeordneten Ansicht (wie ein tack in google maps usw.). Der übergeordneten Ansicht und der untergeordneten Ansicht sind sowohl der Größe 300x200 und den gleichen Ursprung haben. Dies bedeutet, dass (100, 40) den gleichen Punkt in beiden Ansichten.

Nun habe ich zoom und bewegen das Kind UIView(die Karte) mit CGAffineTransform und die Koordinaten (100, 40) liegt heute woanders. Die übergeordnete Ansicht ist effektiv eine Maske hier.

Kann ich die CGAffineTransform Matrix oder einem anderen Teil des Rahmens zu berechnen und informieren Sie die übergeordnete Ansicht, wo die Wende jetzt, dass der Punkt bewegt hat?

d.h. (100, 400) in der untergeordneten Ansicht im Vergleich zu (100, 40) in der übergeordneten Ansicht, was ist er im Vergleich zu nach der transformation?

Vielen Dank für Anregungen oder Hilfe.

Die animation des Kindes 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];

InformationsquelleAutor der Frage RickiG | 2010-01-15

Schreibe einen Kommentar