UICollectionView
画面全体で水平方向にスクロール可能な単一の行としてフォーマットされた があります。これはキュー内の次のエントリを表すため、アイテムが追加および削除されるたびに、常にインデックス 0 (ビューの左端) で発生し、全体が 1 スペースずつ前後に移動します。コードは非常に単純です。
[_collectionviewNextUp insertItemsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:0]]];
と
[_collectionviewNextUp deleteItemsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:0]]];
insertItemsAtIndexPaths:
と のアニメーションを除いてdeleteItemsAtIndexPaths:
、特に CollectionView アイテムが画面の端を超えて拡張されている場合、すべてが正常に機能しています。キューに 6 つの項目 (一度に表示できる数) しかない限り、完全にアニメーション化されます。7項目以上だとアニメーションがおかしくなります。アイテムを (左から) 削除すると、右に追加されるアイテムもアニメーション化されます。(左側に) 項目を追加すると、右側から削除される項目もアニメーション化されます。キューが 50 アイテムの長さであっても、常にアイテム #6 (画面上で最後に表示されているアイテム) が消えて再び現れるようにアニメーション化します。エラーや警告などはありません。アニメーションが終了した後、ビューに正しい数のアイテムが残っています。画面の端で追加/削除されているセルをアニメーション化するだけです。
私の理論は、再利用可能なセルがアニメーション化されているというものです。それは何かのように聞こえますか?左右のスクロールは完全に機能しますが、挿入と削除はペアでしかアニメーション化されないようで、一方が他方の場所を取っているかのように、常に同じ方向に「飛び込み」と「飛び出し」ます。(経験の浅い私の目には)端のセルが飛ばされて前面に追加されているか、前面のセルが端に移動されているように見えます。
私はこれについて調査を試みましたが、エラーと例外をスローするアニメーションの問題しか見つかりませんでした。他の誰かがこれを経験しましたか?また、インデックス 0 の項目がアニメーション化され、残りの項目がスムーズに画面に出入りするように修正してくれる人はいますか?