iOS6 の新機能を勉強しているときに、UICollectionViewについて質問を受けました。
現在、フロー レイアウトとスクロール方向を水平に設定し、スクロールとページングを有効にしてテストしています。カスタムのセルとまったく同じサイズに設定したので、一度に 1 つずつ表示できます。横にスクロールすると、ユーザーは他の既存のセルを見ることができます。
それは完全に機能します。
ここで、作成したコレクション ビューにUIPageControlを追加して、表示されているセルとそこにあるセルの数を表示できるようにします。
ページ コントロールの作成はかなり単純で、frame と numberOfPages が定義されていました。
質問のタイトルが示すように、私が抱えている問題は、コレクション ビューに現在表示されているセルを取得する方法です。これにより、ページ コントロールの currentPage を変更できます。
cellForItemAtIndexPath などのデリゲート メソッドを試してみましたが、セルを表示するのではなく、ロードするように作られています。didEndDisplayingCell は、セルが表示されなくなったときにトリガーされます。これは、必要なものとは逆のイベントです。
-visibleCells と -indexPathsForVisibleItems、コレクション ビュー メソッドが私にとって正しい選択のようですが、別の問題にぶつかりました。いつそれらをトリガーしますか?
事前に感謝します。皆さんが私を理解できるように、私が自分自身を十分に明確にしたことを願っています!