2015-12-28 1 views
0

J'ai un TagCollectionViewCell personnalisé qui est un UICollectionViewCell personnalisé. Dans les jours .xib, j'avais l'habitude d'instancier via UINib mais maintenant, en utilisant Storyboard, je suis complètement désemparé.Problème CollectionViewCell. Du .xib à la transition du storyboard pour la collection personnalisée viewviewcell

\t UINib *cellNib = [UINib nibWithNibName:@"TagCollectionViewCell" bundle:nil]; 
 
\t [self.collectionView registerNib:cellNib forCellWithReuseIdentifier:@"TagCell"]; 
 
\t 
 
\t 
 
\t _sizingCell = [[cellNib instantiateWithOwner:nil options:nil] objectAtIndex:0];

Dans storyboard J'ai collé la pointe dans le .storyboard, il a donné la classe personnalisée affectée. Mais je reçois un écran blanc. C'est ma cellule de collection personnalisée que je veux dans le storyboard. .xib snapshot to be changed into the storyboard.

Quels changements dois-je faire dans la vue de collection cell_for_item_atindexpath. Le code pour .xib était le suivant.

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 
 
{ 
 
\t TagCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"TagCell" forIndexPath:indexPath]; 
 
\t 
 
\t [self _configureCell:cell forIndexPath:indexPath]; 
 
\t 
 
\t return cell; 
 
}

et pour configurer la mise en page était cela.

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath 
 
{ 
 
\t [self _configureCell:_sizingCell forIndexPath:indexPath]; 
 
\t 
 
\t return [_sizingCell systemLayoutSizeFittingSize:UILayoutFittingCompressedSize]; 
 
}

+0

Salut. Voir ma réponse ci-dessous – LearneriOS

Répondre

2

Vous pouvez également utiliser la cellule de vue de collection personnalisée avec storyboard également.

Faire la sous-classe de UICollectionViewCell.

Définissez DataSource et Delegate.

Définissez la classe et l'identificateur dans le storyboard comme suggéré dans l'image.

enter image description here

enter image description here

+0

Oui, je l'ai fait. Ai-je manqué quelque chose dans cellForItemAtIndexPath. Sera-t-il différent lors de l'utilisation de storyboard? Considérons ** "dequeueReusableCellWithReuseIdentifier" **, je vais fournir l'identifiant utilisé dans le storyboard, je l'ai fait, tout ce qui me manque. –

+0

Je l'ai eu! Je dois le classer en (TagCollectionViewCell *) –

0

Avez-vous réglé la source de données et le délégué pour votre CollectionView. L'une des erreurs les plus courantes. Dites-moi si un peu plus d'aide est nécessaire.

+0

Oui, comment puis-je l'oublier? –