2

(以下更新)

コレクション ビュー (セクション 0 など) のセクションからアイテムを削除すると、セクション 0 のセルがアニメーションで離れて「複製」されるため、補助ビュー (この場合は UICollectionViewFlowLayout のヘッダー) が所定の位置に表示されます。後者のセクションは、ポップインされたものと一致するようにそれらと一緒にアニメーション化されます.

当然のことながら、所定の位置に飛び出すのは「重複」である可能性がありますが、それは実際には問題ではありません. コレクションビューで未来が見えるみたい!そして、自分自身に追いついています。アニメはこんな感じ。

この余分なポッピング補助ビューを抑制するための癖やバグ、または簡単な修正があるかどうか知っていますか?

更新: これは、セクションだけでなく、セルでも発生することに気付きました。画面の下のいくつかのセルとセクションが「2 倍」になっているようです。ゼロ セクションからセルを削除すると、その下のいくつかのセクションとセルが重複することなく適切にアニメーション化されますが、特定のポイントを超えるとポップします。制約の問題?

4

1 に答える 1

2

これは UICollectionViewFlowLayout のバグです。何らかの理由で UICollectionViewFlowLayout は、画面上にないセルを適切にアニメーション化できません。

この問題に対処する 2 つの回避策を実行しましたが、完全に解決するものはありません。1 つ目は、コレクション ビューのフレームを人為的に増やして、アニメーションに必要なセルを作成し、データの変更時に正しくアニメーション化することです。これはちょっとしたハックで、すべてのケースでうまくいくわけではありません。

もう 1 つのオプションは、独自のフロー レイアウトを最初から作成することです。これは私にとってはうまくいき、複雑さは完全にレイアウトの複雑さ次第です。独自のフローレイアウトを作成するために使用した例を次に示します: https://github.com/chiahsien/UICollectionViewWaterfallLayout

于 2013-03-21T17:14:44.047 に答える