Als Test habe ich ein Layout erstellt, das Zellen in einer vertikalen Linie anzeigt und ein anderes, das sie in einem horizontalen Layout anzeigt. Wenn ich [collectionView setCollectionViewLayout:layout animated:YES];
rufe, animiert es zwischen den zwei Positionen sehr sauber.Benutzerdefinierte Animation beim Wechsel von einem UICollectionViewLayout zu einem anderen?
Nun, da ich wie würde zu tun haben alle Ansichten ein paar Spins tun, Warps und Flips auf dem Bildschirm, bevor sie schließlich Ankunft am Zielort (wahrscheinlich CAKeyframeAnimations verwenden), aber ich kann nicht gut finden legen Sie diesen Haken in.
ich versuchte Subklassen UICollectionViewLayoutAttributes
eine Animation Eigenschaft enthalten, dann die Animationen in einer außer Kraft gesetzt applyLayoutAttributes:
Methode der UICollectionViewCell
Einstellung ich verwende. Das funktioniert ... AUSSER scheint es nur nach der Layout-Übergang ist abgeschlossen. Wenn ich das verwenden möchte, müsste das Layout die aktuellen Positionen der Objekte nicht sofort ändern, erst nachdem es den Attribut-Teil des Codes erreicht hat, scheint das eine Menge Arbeit zu sein ...
Oder ich könnte Unterklasse UICollectionView
und überschreiben setCollectionViewLayout:animated:
, aber das scheint auch wie eine Menge von Zustand zwischen Layouts zu bleiben. Keines dieser optins scheint richtig, denn es gibt wie eine einfache Möglichkeit, Hinzufügen/Löschen von Zellen innerhalb ein Layout zu animieren. Ich habe das Gefühl, dass es etwas Ähnliches geben sollte, um in die Animationen zwischen Layouts einzuhaken.
Kennt jemand den besten Weg, um zu bekommen, was ich erreichen möchte?
Können Sie Ihren Code anzeigen? – zakhej