UICollectionView
には水平スクロールとページングがあります。次回または前のページに最初にスクロールしたり、スクロール方向を左から右に変更すると、cellForItemAtIndexPath
のindexPath.rowの値が1でなく3だけ変化します。 CollectionView
は問題なく動作しますiOS
9.問題はちょうどiOS
に発生します10.ありがとう。UICollectionView cellForItemAt indexPathはiOS 10の行インデックスをスキップしています
答えて
問題は、UICollectionViewの新しいプリフェッチ機能にありました。プリフェッチを無効にすると私の問題が解決しました。
if #available(iOS 10.0, *) {collectionView.isPrefetchingEnabled = false}
可能なケース:
あなたcollectionViewでページングを使用している、とあなたの宣言として、1ページが3個の細胞を含んでいるので。したがって、1ページ移動すると、左のセルからインデックスを取るので、セルのインデックスは3だけ移動します。
など。セル>ページ1:[0..1..2]ページ2:[3..4..5]
私はページに1つのセルを使用します。 iOS 9では完全に動作します。 iOS 10の問題:https://www.youtube.com/watch?v=BTaD_InGt6g&feature=youtu.be。 –
ビデオとして、コレクションビューが対応するページに正しいセルを表示していることを示していません。つまり、ページ6が番号6のセルを表示していると判断できません。セルが正しくないため、「cellForItemAtIndexPath」が正しい値を返すことができません。 ところで、 'collectionView.visibleCells'を使って、どのセルが表示されているかを調べることをお勧めします。そして、 "cellForItemAtIndexPath"でそれらを作成するときに、それらのセルに 'TAG'を追加することができます。行番号を表示するには、タグ番号を使用します。 または、左/右ボタンの方法で論理的なエラーが発生することがあります。 – KTang
- 1. cellForItemAt indexPathセルのダウンロードに関するデータ
- 2. UICollectionViewのindexPathを
- 3. UITableViewCellのSwift UICollectionView indexPathエラー
- 4. iOS 10のUICollectionViewプリフェッチデータソース?
- 5. UICollectionView - cellForItemAtで返されるUICollectionViewCellのリスト
- 6. UICollectionViewのindexPathの値
- 7. cellForItemAt私がUICollectionViewDelegateFlowLayoutを使用している場合、IndexPathは呼び出されません。 iOSのバグですか?
- 8. UICollectionView cellForItemAtが2回目に呼び出されない
- 9. iOS: `UICollectionview`、` indexPath`でセルの `contentoffset`を取得する方法
- 10. cellForItemAtがcollectionViewで呼び出していません
- 11. UICollectionView - iOS 10でのスクロールのアニメーション
- 12. UIcollectionView cellForItemAtIndexPathは、iOS 10でのみNullを返します。 iOS 9とiOS 8でうまく動作します
- 13. UICollectionViewのインデックスを追跡する方法
- 14. UICollectionViewのsupplementaryViewまたはdecorationViewのindexpathは何ですか?
- 15. indexpathを移動した後、UITableviewCell内のUICollectionView
- 16. cellはcellForItemAtにロードされていますが、visibleCellsにはありません
- 17. collectionView.cellForItemは(時:indexPath)正常に動作していない
- 18. ios - UICollectionViewレイアウト最後の行
- 19. indexpathの範囲外のインデックス
- 20. iOS indexPath is nil(カスタムアクセサリーイメージ)
- 21. UICollectionViewの背景が表示されていない間は、UICollectionViewのセルは
- 22. UICollectionView iOS版10に画像が表示されない
- 23. cellForItemAtでUICollectionViewCellsのリロードを防止する方法を教えてください。
- 24. UICollectionViewLayerが設定されているときにcellForItemAtが呼び出されない
- 25. Swift 2.3 CollectionViewのIndexPathエラー
- 26. scrollToItem UICollectionViewエラー - インデックスが範囲外です
- 27. UICollectionViewは間違ったインデックスを取得します
- 28. dataSourceはcellForItemAt関数で更新されません
- 29. コレクションビューのインデックスがリフレッシャーを使用しているとき
- 30. UICollectionView iOSの10に誤整列された細胞
あなたが「3で変化する」と言うと、あなたの意図がはっきりしません。いくつかのインデックスを一度も求められていないということですか?または、あなたに驚かされる順序で索引を求められることはありますか? –
理解を深めるため、ビデオhttps://www.youtube.com/watch?v=BTaD_InGt6g&feature=youtu.beを追加しました。問題はiOS 10で発生します。 –
あなたのページサイズはおそらく誤っています。いくつかのコードがないと、あなたを助ける方法が明確ではありません。コードをトレースして、どのようなデータソースメソッドが呼び出され、どの値を持つかを正確に確認する必要があります。私はコレクションビューの新しいプリフェッチ動作に驚いていると思います(コレクションビューでは、まだ表示されていないセルが要求されるようになりました)。 –