Frage

I drehen / Maßstab eine UIView mit [UIView Transformation:] und das funktioniert gut. Doch sobald ich die Ansicht des Rahmens Ursprung der Inhalt der Ansicht zu ändern beginnt auch ‚bizarr‘ maßstäblich obwohl ich keine weiteren CGAffineTransforms bin durchgeführt wird.

Warum tritt das? Wie kann ich das verhindern?

Update 1:

Die docs deuten darauf hin, dass der Rahmen ungültig ist nach einer Transformation. Kann ich den Blick über es ‚Zentrum‘ Eigenschaft stattdessen bewegen?

Update 2:

Einstellen der Ansichten Zentrum zuließ mir die Sicht erfolgreich zu übersetzen, nachdem ein angewandt worden verwandeln.

War es hilfreich?

Lösung

  

Kann ich bewege die Ansicht über das ‚Zentrum‘ ist Eigentum statt?

Die Dokumentation definiert die center Eigenschaft als:

  

Das Zentrum des Rahmens.

und sagt:

  

Der Mittelpunkt im Koordinatensystem seiner Super angegeben ist.

Ich würde es versuchen.

Andere Tipps

Von der UIView docs :

  

transformieren:

     

Achtung: Wenn diese Eigenschaft nicht die Identität Transformation ist, wird der Wert von   die Rahmen-Eigenschaft ist nicht definiert und   daher sollte ignoriert werden.

Das Zentrum Eigenschaft ist nur eine bequeme Methode, die wirklich den Rahmen des Ursprungs zurücksetzt.

Edit: beigefügter Kommentar zu beantworten:

Wenn Sie mit der Eigenschaft transformieren und möchten Ihre Ansicht neu zu positionieren, haben Sie die Übersetzung Ihre Transformation mit verketten:

view.transform = CGAffineTransformTranslate(view.transform, tx, tx);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top