Comment mettre en évidence une ligne dans un UITableView
Le code ci-dessous ne semble pas avoir d'effet. Je veux qu'il soit mis en surbrillance dans la même manière, il met en évidence lorsque vous appuyez sur une ligne
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
...
[cell.textLabel setHighlighted:YES];
return cell;
}
source d'informationauteur TheLearner
Vous devez vous connecter pour publier un commentaire.
Cette ligne permettra de gérer repeindre la cellule, de l'étiquette et de l'accessoire pour vous:
Comme d'autres l'ont noté, vous pouvez sélectionner par programmation d'une cellule à l'aide de cette méthode:
Cependant, vous devez être prudent de ne pas appeler cette méthode trop tôt.
La première fois que le point de vue du contrôleur contenant dit
tableView
estinitialized
le plus tôt que vous devez appeler cette méthode est à l'intérieur deviewDidAppear:
.Donc, vous devriez faire quelque chose comme ceci:
Si vous essayez de mettre cet appel en
viewDidLoad
viewWillAppear:
ou d'une autre vue du cycle de vie d'appels, il ne sera probablement pas ou ont des résultats bizarres (comme le défilement à la position correcte, mais pas la sélection de la cellule).travaille habituellement
Si vous utilisez l'interface builder pour créer votre interface, une chose à vérifier est que vous avez spécifié le point de vue de la table view controller. Si vous ne spécifiez le point de vue, ce message de sélection peut aller nulle part.
(vous spécifiez le consulter en cliquant sur le table view controller dans interface builder inspecteur de la fenêtre et en faisant glisser la sortie de "vue" à la vue de la table que vous voulez faire de la sélection).
Essayez ceci 🙂
Vous pouvez utiliser
Vous avez deux choix. Soit utiliser la sélection de l'affichage de la table:
Ou changer la couleur d'arrière-plan de la cellule de tableau dans la vue de table délégué: