私はUICollectionView
FLowLayout を持っています。ほとんどの場合、期待どおりに動作しますが、セルの 1 つが適切にラップされないことがあります。たとえば、3 行目の最初の「列」にあるセルは、実際には 2 行目の末尾にあり、あるべき場所に空のスペースがあるだけです (下の図を参照)。このルージュ セルは左側しか見えず (残りは切り取られています)、本来あるべき場所は空になっています。
これは常に発生するわけではありません。必ずしも同じ行ではありません。それが発生したら、上にスクロールしてから戻ることができ、セルは自動的に修正されます。または、セルを押して (プッシュで次のビューに移動します)、ポップバックすると、セルが間違った位置に表示され、正しい位置にジャンプします。
スクロール速度により、問題の再現が容易になるようです。ゆっくりスクロールすると、セルが時々間違った位置に表示されることがありますが、すぐに正しい位置にジャンプします。
セクションインセットを追加したときに問題が発生しました。以前は、セルがコレクションの境界に対してほぼフラッシュしていました (インセットがほとんど、またはまったくない) が、問題に気づきませんでした。しかし、これはコレクション ビューの左右が空であることを意味していました。つまり、スクロールできませんでした。また、スクロール バーが右に揃っていませんでした。
シミュレーターと iPad 3 の両方で問題を発生させることができます。
左右のセクションのインセットが原因で問題が発生していると思います...しかし、値が間違っている場合、動作が一貫していると予想されます。これは Apple のバグなのだろうか?あるいは、これはインセットの蓄積または類似の原因によるものかもしれません。
フォローアップ:以下のニックによるこの回答を 2 年以上問題なく使用しています (その回答に穴があるかどうか疑問に思っている場合に備えて、まだ見つかっていません)。よくやったニック。