J'ai un code dans mon willDisplayCell qui sélectionne une ligne/cellule donnée .. cela fonctionneUITableViewCell pas désélectionnée lorsque vous touchez une nouvelle ligne
-(void) willDisplayCell ...
....
if (somecodition) [cell setSelected] (dont remember the actual methodname)
....
C'est ce que je veux accomplir
-(void) ... cellForRow... {
if <condition> setPrivateClassVar = indexPath
}
-(void) someMethod {
[myTableView reloadData];
[myTableView selectRowAtIndexPath:PrivateClassVar ....]
// I expected the variable to be set in cellForRow method.
}
Cela fonctionne bien car il a mis en surbrillance la ligne correcte. mais parfois après que le UITableView est entièrement affiché et je touche à une nouvelle rangée dans la table; la ligne/cellule sélectionnée est toujours éclairée, laissant deux lignes sélectionnées. Est-ce un comportement normal?
Je suppose que ma question serait .. est willDisplayCell un bon endroit pour mettre la logique d'auto-sélection d'une rangée? ou y a-t-il un meilleur endroit pour cela? certains m'ont dit de le mettre après [tableview reloadData] mais je pense que cet appel est asyncoyant. – Arcadian
le mettre après reloadData. Ce n'est pas asynchrone. Aucune des méthodes d'interface utilisateur sont aussi loin que je sache. Ils sont rendus dans le fil principal. –
Je vais essayer encore. mais je pensais que quand willDisplayCell est appelé, il va écraser ma cellule sélectionnée provoquant qu'elle soit désélectionnée – Arcadian