UICollectionView - N'affiche pas les cellules
Ce que je suis en train de réaliser un tableau 3x3 avec UICollectionView
. Mais il n'a tout simplement pas afficher toutes les cellules lors de l'exécution de l'application. Elle affiche la couleur d'arrière-plan de la CollectionView
bien (que j'ai mis en bleu) quelqu'un Peut m'aider ici?
Ce que j'ai fait est de créer un storyboard
et tout simplement traîner un CollectionViewController
sur elle. Ce contrôleur a également apporté un imbriquée CollectionView
avec elle. Ensuite, j'ai simplement utilisé les réglages à faire son arrière-plan bleu et l'ajout d'une cellule de qui j'ai fait le fond violet (deux seulement pour les tests). Enfin traîné un UILabel
sur elle. Maintenant, lorsqu'il est exécuté, il affiche juste le fond bleu, mais pas de cellules, même si elles sont clairement visibles dans l'éditeur. J'ai alors essayé de créer un personnalisé UICollectionViewController
assigner la classe à la CollectionViewController
au lieu de la norme de la classe et a fait de même pour la cellule (assigner une coutume UICollectionViewCell
). Dans la coutume UICollectionViewController
j'ai mis en œuvre les méthodes suivantes:
-(NSIntegear)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
return 1;
}
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
return 9;
}
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"Cell";
AboutYourGoalsMultiSelectionCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:cellIdentifier forIndexPath:indexPath];
[[cell goal]setText:@"T"];
return cell;
}
- Je régler l'identifiant de la cellule de "Cellule", et a fait une prise de connexion de source de données et délégué entre les CollectionView et la coutume UICollectionViewController. Tout compile bien.
Donc ce qui me manque? Ne devrait-il pas affiché quelque chose de bien avant de faire tous ces réglages en utilisant simplement l'éditeur?
source d'informationauteur Ke Vin
Vous devez vous connecter pour publier un commentaire.
Voir ma réponse icien bref, vous devez de supprimer cette ligne si vous travaillez avec un storyboard:
Une source fréquente d'erreur, c'est que la source de données et délégué ne sont pas définies dans les points de vente
Vous avez une erreur dans la première ligne de votre code.
NSIntegear
devrait êtreNSInteger
.Ne sais pas si c'est ça le problème, mais parce que xcode ne devriez pas vous permettre d'exécuter votre projet avec cette erreur. J'ai juste essayé de suivre exactement les mêmes étapes que vous avez mentionné (sans étiquette), mais avec la correction ci-dessus et il a bien fonctionné pour moi. Voici une capture d'écran:
Puisque je n'ai pas trouver une solution directe à elle, j'ai essayé de mettre en place un nouveau projet et a fait de même des changements et des améliorations, et étonnamment, cette fois, tout a fonctionné dès le début. J'ai ensuite copié le storyboard de mon ancien projet, supprimé tous les anciens fichiers et l'a remplacé par les fichiers de la nouveau projet. Tout fonctionne bien jusqu'à présent. Je n'ai aucune idée de ce qu'était la véritable erreur, mais je suis contente que ça fonctionne maintenant. Merci à tous ceux qui ont eu un coup d'oeil à ma question!
Si vous essayez de créer un simple CollectionViewController (pas coutume c'est à dire par la mise en œuvre) et vos cellules ne sont pas de l'affichage lorsque l'application s'exécute il suffit de suivre les étapes suivantes:-
Maintenant, ouvrez votre classe créée et de modifier vos méthodes comme ceci:
Modifier uniquement "retour" de la valeur (0 par défaut) il suffit d'écrire le nombre de cellules/éléments que vous souhaitez afficher ou vous avez créé (dans ce cas-là, j'avais créé une Cellule).
[ios] [swift3] [xcode]