mises en cache Quand j'ajouter une étiquette à une cellule en utilisant:RETOURS iPhone cellForRowAtIndexPath cellules
- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
[cell addSubView:someLabel];
}
Il ajoute l'étiquette multple cellules, car il ajoute l'étiquette à une cellule en cache. Donc, chaque cellule de la tableView thats utilise une cellule en cache, affichera mon label.
Est-ce que quelqu'un sait comment s'y prendre? Ton
merci pour votre réponse, mais pourquoi devrais-je faire cela? Quand de nouvelles cellules arrivent à l'écran, il reconstruit la cellule, donc mon label ne devrait même pas être le leur. Je veux seulement que mon étiquette existe si l'utilisateur appuie sur le bouton d'accessoire, quand la cellule disparaît de la vue, elle devrait disparaître parce qu'elle reconstruira la cellule. – Ton
Donc vous utilisez la même cellule à plusieurs endroits, mais vous voulez changer une seule instance? Votre meilleur pari est probablement de copier la cellule de référence et ajouter l'étiquette, puis basculer entre ces deux si nécessaire. –