Ich folgte Luke Redpaths Vorschlag hier - Selected UItableViewCell staying blue when selected - um die Zeile abzuwählen, wenn ich zur ursprünglichen Tabellenansicht zurückkehre, aber ich kann nicht funktionieren. Tatsächlich wird die Methode nicht ausgelöst.Auswahl der Tabellenansichtszeile bei der Rückgabe abwählen
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self.tableView deselectRowAtIndexPath:[self.tableView indexPathForSelectedRow] animated:YES];
}
Ich vermute, das liegt daran, dass die Klasse nicht ein UITableViewController
, sondern ein UIViewController
mit den tableView
als Eigenschaft mit dem NIB angeschlossen.
Wie würde ich das gleiche Verhalten bekommen - dh die Auswahl bei der Rückgabe abwählen?
Es sollte nicht wichtig sein, solange das TableView korrekt angeschlossen ist. Sie sollten es in 'didSelectRowAtIndexPath:' einfügen können und es funktionieren lassen. Sie könnten auch eine schnelle NSLog-Überprüfung von dem durchführen, was '[self.tableView indexPathForSelectedRow]' zurückgibt, da es möglicherweise tatsächlich null zurückgibt. – iwasrobbed
Ich benutzte dies, aber hatte ein Problem, wo Änderungen in der Zelle (Hintergrund etc) nicht sofort widergespiegelt wurde. Hinzufügen von reloadRowsAtIndexPaths: in didDeselectRowAtIndexPath: hat den Trick gemacht – nh32rg