UIViewController内にUICollectionViewがあります。collectionView cellForItemAtIndexPath:メソッドでは、データソースに基づいて一連のカスタムセルを作成します。カスタムセルには、単一のPDFページを描画するためにサブクラス化されたUIViewが含まれています。
PDFファイルを単一のページに分割するように設定されているため、セル1にはPDFページ1が含まれ、セル2にはPDFページ2が含まれます。これまでのところ、これが私の問題です。
下にスクロールすると、UICollectionViewに間違ったセルが表示され始めます。たとえば、34ページのドキュメントでは、セル/ページ1〜16が正しい順序で表示されますが、セル1、セル2、セル4など、さらに上にデキューされたように見えるページの表示が開始されます。セルの近く/34ページ。
過去にUITableViewで同様の動作を確認しましたが、これはセルのデキューまたはデリゲートメソッドと関係があると考えています。よくわかりません-助けていただければ幸いです。
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
//create custom cell
CustomCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cellID" forIndexPath:indexPath];
//set file name (always the same; one PDF file)
cell.fileName = fileName;
cell.backgroundColor = [UIColor clearColor];
//set the title to the page number
cell.title = [NSString stringWithFormat:@"page %@", [countArray objectAtIndex:indexPath.row]];
//set the current page (which indicates which page to display) according to the pageCount
cell.currentPage = [[countArray objectAtIndex:indexPath.row] intValue];
return cell; }