2010-01-26 5 views
1

je sais que ce sera la cellule de configuration sur cette méthodecomment modifier la propriété de UITableViewCell sur une autre méthode

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

par exemple, si je veux modifier la propriété de la cellule dans

tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

Comment puis-je l'accès à la cellule que j'ai sélectionnée?

Répondre

2

Vous pouvez obtenir cellule visible dans UITableView en utilisant la méthode suivante:

-(UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath 

Valeur de retour: Un objet représentant une cellule de la table ou nulle si la cellule n'est pas visible ou indexPath est sur gamme.

donc dans votre méthode de didSelectRow vous aurez quelque chose comme (vous devrez peut-être définir la selectionStyle de cellule à UITableViewCellSelectionStyleNone pour effectuer vos modifications affichent correctement):

- tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 
    UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath]; 
    if (cell != nil){ 
     cell.textLabel.textColor = [UIColor redColor]; 
    } 
} 

Ou vous pouvez sous-classe UITableViewCell, mettre en œuvre - (void)setSelected:(BOOL)selected animated:(BOOL)animated méthode et changez les propriétés de cellule là.

+0

pourriez-vous s'il vous plaît me montrer un exemple pour moi pour la première réponse? dans la deuxième réponse, je pense que vous m'avez dit d'implémenter UITableViewCell personnalisé, puis remplacer - (void) setSelected: (BOOL) sélectionné animé: (BOOL) animé pour gérer à droite? – RAGOpoR

+0

oui, vous avez raison avec la 2ème partie – Vladimir

+0

merci Vladimir – RAGOpoR

Questions connexes