J'essaie d'utiliser UICollectionViewCell
, puisque tout ce que je veux afficher est une image. Je peux ajouter l'image à la cellule en utilisant UIColor colorWithImage:
sur la propriété contentView
.UICollectionView cellForItemAtIndexPath ne pas enregistrer la cellule
Dans ma méthode loadView
, j'enregistre la cellule comme suit: [self.collectionView registerClass:[ImageCell class] forCellWithReuseIdentifier:@"MyCell"];
Voici ma méthode cellForItemAtIndexPath
:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"MyCell" forIndexPath:indexPath];
// cell customization
return cell;
}
Quand je lance, dès qu'il frappe la ligne de dequeue, il se bloque avec l'erreur suivante:
*** Assertion failure in -[UICollectionView _dequeueReusableViewOfKind:withIdentifier:forIndexPath:]
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'could not dequeue a view of kind: UICollectionElementKindCell with identifier MyCell - must register a nib or a class for the identifier or connect a prototype cell in a storyboard'
J'ai fatigué la configuration d'une cellule personnalisée, et j'ai utilisé t comme la classe et j'ai eu la même erreur. Ma cellule personnalisée a sous-classé UICollectionViewCell et n'a rien implémenté, à l'exception de la valeur par défaut initWithFrame
. C'est parce que je voulais juste changer la couleur de fond de la vue. Je ne sais pas quel est le problème, mais quelqu'un pourrait-il jeter un coup d'œil à mon code et m'aider? J'essayais de comprendre cela depuis un moment sans aucune chance du tout.
Merci pour votre aide! Ça me rendait fou :) –
Si vous voulez utiliser Xib, vous pouvez trouver la réponse dans ce document [UICollectionView en ajoutant UICollectionCell] (http://stackoverflow.com/questions/15184968/uicollectionview-adding-uicollectioncell). – Autobots