Ho un UICollectionView all'interno di un UIViewController. Nel metodo collectionView cellForItemAtIndexPath: crea una serie di celle personalizzate basate sull'origine dati. Le celle personalizzate a loro volta contengono un UIView, sottoclasse per disegnare singole pagine PDF.UICollectionView mostra celle errate dopo lo scorrimento - problema di rimozione?
È impostato in modo tale da suddividere un file PDF nelle sue singole pagine, quindi la cella 1 contiene la pagina PDF 1, la cella 2 contiene la pagina PDF 2 e così via. Fin qui tutto bene, ecco il mio problema:
Quando si scorre verso il basso, UICollectionView inizia a visualizzare le celle sbagliate. Ad esempio in un documento di 34 pagine, mostra le celle/pagine 1-16 nell'ordine corretto, ma poi inizia a visualizzare le pagine che sembrano essere state rimosse dal numero, come cella 1, cella 2, cella 4. Non ho mai vai vicino alla cella/pagina 34.
Ho visto un comportamento simile da UITableView in passato, e credo che abbia qualcosa a che fare con il dequeue delle celle o con un metodo delegato. Non del tutto sicuro - ogni aiuto è apprezzato.
- (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; }
Forse ho lo stesso problema. Hai trovato una soluzione? – chris