この問題に対するまともな答えを見た人はいますか?
initialLayoutAttributesForAppearingItemAtIndexPath
挿入されるセルだけでなく、すべての可視セルに対して呼び出されているようです。Apple自身のドキュメントによると:
移動されたアイテムの場合、コレクション ビューは標準メソッドを使用して、アイテムの更新されたレイアウト属性を取得します。アイテムが挿入または削除されると、コレクション ビューはいくつかの異なるメソッドを呼び出します。これらのメソッドをオーバーライドして、適切なレイアウト情報を提供する必要があります。
何が起こっているようには聞こえません...他のセルは挿入されておらず、移動されていますが、移動されているセルも呼び出してinitialLayoutAttributesForAppearingItemAtIndexPath
います。
prepareForCollectionViewUpdates:
どの indexPaths が更新されているかを追跡し、それらのみを変更するという回避策を見てきましたが、これは自分のドキュメントに反することは少し奇妙に思えます。他の誰かがこれを回避するより良い方法を見つけましたか?