2009-03-16 8 views
3

Je cherche à faire quelque chose de simple comme percer sur un UITableViewCell particulier, ce qui amène un contrôleur de vue de détail. À l'intérieur, l'utilisateur a la possibilité de changer l'attribut du modèle sous la cellule. Par exemple, si j'affiche une liste de citations, et qu'un utilisateur clique sur une citation et la sélectionne dans le contrôleur enfant, je veux être capable d'afficher une image qui était cachée maintenant qu'elle est placée en favoris, une étoile peut-être. Quel est le moyen le plus simple de mettre à jour un UITableViewCell en particulier? Est-il préférable de référencer le UITableViewCell sélectionné dans le contrôleur enfant et de les coupler d'une telle manière? Comment est-ce que quelque chose comme ça est fait?Question concernant la mise à jour d'un UITableViewCell sur l'iPhone

Merci.

Répondre

5

Il est probablement plus facile de simplement mettre à jour votre objet de modèle, puis d'appeler [tableView reloadData];.

Puis modifiez votre code de dessin pour prendre en compte les modifications et afficher vos images cachées ou quoi que ce soit.

-1

Pour redessiner une cellule spécifique, vous devez trouver son rectangle (rectForRowAtIndexPath) puis appeler setNeedsDisplayInRect sur UITableView avec ce rectangle.

+0

Il semble qu'il essaie de changer les sous-vues de la cellule du tableau, pas seulement de forcer un redessin. Il est rare que 100% de dessin personnalisé fonctionne * pour une cellule de table de toute façon ... –

1

Pour un exemple de code complet, jetez un coup d'œil au projet SQLite Books sur ADC.

2

setNeedsLayout l'a fait pour moi.

+0

merci beaucoup, a également travaillé pour moi, juste eu une référence à la cellule pas la tableview, appelée cette méthode après l'arrivée de l'utilisateur avatar, rafraîchir a parfaitement fonctionné, l'image sera maintenant affichée :) – cV2

Questions connexes