2009-11-13 2 views
9

Ich möchte die aktuelle Position einer UIView abrufen, nachdem eine Transformationsrotation darauf angewendet wurde. Wie kann ich das machen ?Wie erhält man die UIView-Frame-Position nach der Transformation?

Im UIView doc ich dies über die Eigenschaft trans gefunden:

„Wenn diese Eigenschaft verwandelt nicht die Identität ist, sollte der Wert der Rahmens Eigenschaft ist nicht definiert und daher ignoriert werden.“

Ich versuchte stattdessen Zentrum und Grenzen zu verwenden, aber das Ergebnis übersetzt

newView.center = rotatedView.center; 
newView.bounds = rotatedView.bounds; 
newView.transform = rotatedView.transform; 

Kann jemand (auch wenn nicht auf die rotatedView angewendet wurde Transformations) bitte helfen?

Vielen Dank im Voraus, Vincent.

Antwort

5

Wenn Sie den Frame vor der Transformation kennen, können Sie die CGRectApplyAffineTransform-Funktion verwenden, um den Wert nach der Transformation zu berechnen.

+1

Könnten Sie bitte ein wenig genauer erklären, wie Sie CGRectApplyAffineTransform verwenden? – Simon