У меня есть UICollectionView в UIViewController. В методе collectionView cellForItemAtIndexPath: он создает серию пользовательских ячеек на основе источника данных. Пользовательские ячейки, в свою очередь, содержат UIView, подклассифицированные для рисования отдельных страниц PDF.
Он настроен таким образом, чтобы разделить 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; }