He UICollectionView, pero parece que tengo que configurar todo a la derecha. Pero me sale el error:

'could not dequeue a view of kind: UICollectionElementKindCell with identifier PeopleCellForList  - must register a nib or a class for the identifier or connect a prototype cell in a storyboard'

Mi storybord:

no podía quitar de la cola de una vista de tipo: UICollectionElementKindCell con identificador

no podía quitar de la cola de una vista de tipo: UICollectionElementKindCell con identificador

no podía quitar de la cola de una vista de tipo: UICollectionElementKindCell con identificador

Mi código es:

@interface PeopleCellForList : UICollectionViewCell
@end
@implementation PeopleCellForList
@end
#pragma mark - UICollectionView Datasource
- (NSInteger)collectionView:(UICollectionView *)view numberOfItemsInSection:(NSInteger)section {
return self.arrayPeople.count;
}
- (NSInteger)numberOfSectionsInCollectionView: (UICollectionView *)collectionView {
return 1;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath {
UICollectionViewCell *cell = [cv dequeueReusableCellWithReuseIdentifier:@"PeopleCellForList " forIndexPath:indexPath];
return cell;
}
#pragma mark - UICollectionViewDelegate
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
}
- (void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath {
}
#pragma mark  UICollectionViewDelegateFlowLayout
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
CGFloat width = 106;
CGFloat height = width;
if (indexPath.row % 3 == 2) {
width = 108;
}
return CGSizeMake(width, height);
}
- (UIEdgeInsets)collectionView:
(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
return UIEdgeInsetsMake(0, 0, 0, 0);
}

Traté de [self.collectionViewMain registerClass:[PeopleCellForList class] forCellWithReuseIdentifier:@"PeopleCellForList"] en viewDidLoad: (durante la que traté de quitar y no retire la celda de guión gráfico), pero eso no ayuda.

Usted tiene que llamar a registerClass:... método en vista de colección. Compruebe si su colección no es nil cuando se está invocando el método.
He comprobado que no es nil, y traté de llamar a registerClass, pls ver mi fondo de actualización

OriginalEl autor Paul T. | 2014-04-18

1 Comentario

  1. 17

    Usted tiene un espacio extra en @"PeopleCellForList "

    Muchas gracias
    Este pasó a ser exactamente mi problema…
    sí mismo. Ahí va un par de horas a lo largo de un espacio….
    Puse la mía en comillas en el campo de la clase. .. doh! (Queridos de apple, por favor, usted puede incluir la validación de campo en xcode?- thx. )
    Dato divertido: yo tenía el mismo problema, y yo estaba siguiendo el tutorial en raywenderlich.com/22324/…. Y también tienen un espacio en la celda identificador… 🙂

    OriginalEl autor Matías R

Dejar respuesta

Please enter your comment!
Please enter your name here