2016-08-02 2 views
0

Ich frage mich, ob es eine Möglichkeit gibt, eine UIView (einschließlich Unteransichten) in zwei Hälften von der Mitte zu teilen und sie wie eine Türöffnung oder einen entfalteten Brief zu animieren.CATransform3D Split UIView in zwei Hälften mit 3D Open Door Animation

Während ich verstehe, dass dies durch 2 UIViews die halbe Größe der UIView und 2 CATransform3D Rotation Animation erreicht werden kann, ist das Problem, ich habe 3 (Animation) Teilansichten, die mit der UIView aufgeteilt werden müssen.

* Eine der Unteransichten ist eine UIImageView, die ein GIF animiert, aber jede Unteransicht kann ein GIF animieren.

Antwort

0

Es ist sicherlich möglich, eine solche Animation zu erstellen, aber es gibt keine standardmäßige Möglichkeit, dies zu tun. Sie müssten benutzerdefinierten Core-Animationscode schreiben.

Was ich tun würde wäre, einen Schnappschuss der Ansicht zu machen, diesen Schnappschuss in 2 Schichten aufzuteilen und dann eine Reihe von CABasicAnimation s zu erstellen, die die Animation der offenen Tür animieren.

Erklären, wie dies zu tun ist, waaaay jedoch über den Rahmen eines SO-Posts hinaus.

+0

Aber eine (oder alle) meiner UIView Subviews ist eine laufende GIF. Wäre es möglich, es in Gang zu halten UND die 3D-Animation zu machen? Ich bin sicher, dass Snapshot die Animation stoppen wird und das ist das letzte, was ich passieren möchte. – aalesano

+0

Richtig, ein Schnappschuss würde die Animation einfrieren. Ich müsste über einen anderen Ansatz nachdenken, um eine "Scheunentor" -Animation mit gleichzeitig laufendem GIF zu machen. Sie müssen möglicherweise zwei Kopien jedes GIF erstellen, von denen jedes die Hälfte des Bildes beschneidet, und diese separat animieren. –

+0

aber UIView Animationen erlauben "animierte Inhalte"? – Andy