Ho seguito il suggerimento di Luca Redpath qui - Selected UItableViewCell staying blue when selected - per deselezionare la riga quando si torna alla visualizzazione tabella originale, ma non riesco a farlo funzionare. In realtà il metodo non viene attivato.Deselezionando la riga di visualizzazione tabella quando si restituisce
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self.tableView deselectRowAtIndexPath:[self.tableView indexPathForSelectedRow] animated:YES];
}
ho il sospetto che questo è perché la classe non è un UITableViewController
, ma un UIViewController
con la tableView
come una proprietà collegata fino al pennino.
Come si ottiene lo stesso comportamento, ovvero deselezionando al momento della restituzione?
Non dovrebbe essere importante finché il TableView è collegato correttamente. Dovresti essere in grado di metterlo in "didSelectRowAtIndexPath:" e farlo funzionare. Si potrebbe anche voler fare un rapido controllo di NSLog su cosa '[self.tableView indexPathForSelectedRow]' ritorna dal momento che potrebbe effettivamente ritornare nil. – iwasrobbed
L'ho usato ma ho riscontrato un problema in cui la modifica di elementi nella cella (sfondo, ecc.) Non si rifletteva immediatamente. Aggiunta di reloadRowsAtIndexPaths: in didDeselectRowAtIndexPath: ha fatto il trucco – nh32rg