Animate UICollectionView Zellengröße ändern und neu zu positionieren umgebenden Zellen
Ziel:
Um die Änderung von einer Zelle Höhe und Neupositionierung umgebenden Zellen zu animieren.
Szenario:
Einige Zellen in einer Sammlung Ansicht Last entfernte Bilder. Zu Beginn werden diese Zellen statisch dimensioniert und ein Aktivitätsindikator wird angezeigt. Nachdem ein Bild geladen wurde, wird es seiner Zelle hinzugefügt und die Höhe der Zelle wird so geändert, dass sie zum Foto passt.
Hinweise:
Ich Animieren der Rahmenwechsel der Zelle mit animateWithDuration
. Dies funktioniert gut, außer eine erhöhte Zellgröße überlappt die Zellen darunter. Ich habe blind versucht, collectionView.collectionViewLayout invalidateLayout
nach dem Ändern der Größe der Zielzelle und Aktualisieren der Größe von sizeForItemAtIndexPath
ohne Erfolg zurückgegeben.
Irgendwelche Vorschläge? Vielen Dank!
Beispielcode:
Danke Daniel. Schätzen Sie Ihre schnelle und prägnante Antwort. Ich habe einen Beispielcode geschrieben und erfahren, dass performBatchUpdates Aufrufe von invalidateLayout aufruft, nachdem die Animationen abgeschlossen sind. Wenn explizit vor performBatchUpdates aufgerufen, werden Animationen übersprungen, da die Zellattribute sofort aktualisiert werden. Also, ich glaube, Sie können den ersten Schritt überspringen. – Justin
Ich weiß, dass ich nicht danke sagen soll, aber ich habe mit DAYS gekämpft und die Lösung ist so einfach! VIELEN DANK!! Danke @Justin auch für den Github Link, sehr hilfreich. – Skoua