[Rà‰SOLU] Vues différentes pour chaque cellule dans collectionView

BenjoBenjo Membre
août 2013 modifié dans API UIKit #1

Bonjour à  tous


 


Dans mon projet j'utilise une collectionView avec plusieurs cellules. Seulement, dans chaque cellule, je dois utiliser beaucoup d'animations, toutes différentes, en fonction de l'indexPath. Mais voilà  je ne sais vraiment pas comment m'y prendre pour ne pas que cela devienne vite le bazar dans mon code.


Pour moi, il faudrait que j'ajoute une UIView différente pour chaque cellule. Mais je ne sais pas si c'est une bonne idée ou pas.


 


Avez-vous une idée sur la question ?


 


Merci d'avance :)


Mots clés:

Réponses

  • BenjoBenjo Membre
    août 2013 modifié #2

    ça y est j'ai trouvé la solution. Comme j'utilise StoryBoard, il suffit de créer un vue .xib et de l'ajouter dans la cellule avec ce bout de code :



    if (indexPath.item == 1) {
    NSArray *views = [[NSBundle mainBundle] loadNibNamed:@LeNomDeLaVueXIB owner:self options:nil];
    UIView *view = [views objectAtIndex:0];

    [cell.contentView addSubview:view];
    }

    Ensuite pour gérer les animations, il suffit de relier la vue .xib à  une classe dérivant de UIView. Par contre il faut bien faire attention à  supprimer à  chaque fois la vue de la cellule et de la ré-ajouter car les cellule de la collectionView sont recyclées. Si on ne supprime pas les cellules cela peut entrainer des lenteurs dans l'app.


  • AliGatorAliGator Membre, Modérateur
    août 2013 modifié #3
    Si tes vues sont toutes identiques en contenu mais que ce n'est que l'animation qui change, pourquoi ne pas utiliser le pattern Delegate pour fournir tes descriptions d'animation pour chaque cell ?

    Parce que là  si tes vues sont toutes pareilles à  l'animation près, ça fait bcp de vues et de duplications de XIB pour pas grand chose...

    Bon, en même temps, je t'avoue que je ne suis pas sûr d'avoir compris ton problème d'origine, c'est assez flou, qu'est ce que tu entends par "je dois utiliser beaucoup d'animations, toutes différentes en fonction de l'indexPath", qu'est ce que tu appelles animation dans ton cas ?
  • Non justement mes cellules ne sont pas toutes identiques. L'animation et le contenu change. Merci pour tes conseils AliGator.


Connectez-vous ou Inscrivez-vous pour répondre.