2010-06-04 7 views
0

J'ai un UITableView avec une cellule personnalisée chargée à partir d'un fichier nib, cela fonctionne très bien.iPhone - UITableViewCell - Modifier NIB CustomCell par une autre NIB CustomCell lorsque vous sélectionnez une ligne?

Lorsque je sélectionne une ligne (nommée CustomCell1), il est possible de charger une autre CustomCell2 et remplacer CustomCell1 avec elle?

Je suppose que je dois utiliser didSelectRowAtIndexPath() mais je ne sais pas comment.

Des idées?

Merci.

Répondre

0

Vous pouvez utiliser définir un « sélectionné » iVar ailleurs, puis recharger la cellule. s'il est sélectionné, charger la plume sélectionnée. Il vaut probablement mieux avoir les deux vues dans la même cellule et les échanger avec une transition de fondu.

+0

Merci. Il est plus facile d'utiliser deux vues dans la même plume, mais maintenant j'ai une curiosité d'un autre chargement de plume. Pouvez-vous me donner un exemple? Je ne comprends pas ça. Tout ce que vous m'avez dit va dans didSelectRowAtIndexPath()? Sry pour mon anglais et pour ma question noob. – Pittor

+0

Eh bien, l'idée est que vous définissez la cellule comme sélectionnée quelque part dans votre contrôleur de vue (disons en ayant un ivar selectedIndexPath). Ensuite, vous appelleriez [tableView reloadRowsAtIndexPaths: [NSArray arrayWithObject: indexPath] avecRowAnimation: UITableViewRowAnimationFade]; dans didSelectRowAtIndexPath :. Puis, en cellForRowAtIndexPath: vous feriez si ([selectedIndexPath isEqual: indexPath]) {// charger une pointe } else {// charger une autre plume } à nouveau, probablement une mauvaise idée. – Elfred

+0

Il fonctionne;) Merci beaucoup. – Pittor

Questions connexes