2012-05-04 15 views
6

Ich habe gesehen this nice effect und ich möchte etwas ähnliches in einer App verwenden, die ich im Moment entwerfe. Ich gehe davon aus, dass dies nicht einer der 'Standard' Übergänge ist.iOS view 'falten' animation

Weiß jemand, wie so etwas erreicht werden könnte? Ich bin nicht wirklich auf der Suche nach einem detaillierten Codebeispiel, sondern eher nach einem Überblick auf hoher Ebene in die richtige Richtung.

Antwort

6

Ich würde es tun, wie folgt:

  1. Erstellen Sie zwei Schichten:. Eine für die linke Seite und eine für die rechte Seite der Ansicht, die Sie falten wollen

  2. In diesen Schichten , ein Bild der linken oder rechten Seite der zu faltenden Ansicht machen. Die Methode renderInContext: sollte dies in den meisten Fällen tun.

  3. Die Anfangsposition der beiden Ebenen befindet sich am linken Bildschirmrand (x = 0.0). Setzen Sie den Ankerpunkt der linken Ebene auf (0,0, 0,5) und die der rechten Ebene auf (1,0, 0,5). Sie sollten den Ebenen auch eine Rotationstransformation um die y-Achse zuweisen: -90 Grad für die linke Ebene und +90 Grad für die rechte Ebene (oder umgekehrt, ich bin mir nicht sicher; probieren Sie es aus).

  4. Wenn der Benutzer die Einfaltungsaktion aktiviert, starten Sie eine Animation (oder gehen Sie mit einer Geste einher), die die Transformationen der beiden Ebenen in die Identitätsmatrix zurücksetzt. Sie müssen wahrscheinlich auch die Position der rechten Ebene anpassen, so dass sie nicht an der linken Kante des Bildschirms hängen bleibt.

  5. Erst wenn die Animation/Geste abgeschlossen ist, ersetzen Sie die beiden Schichten (die nur ein statisches Bild) mit der tatsächlichen Ansicht, die Sie falten wollte.