UinavigationController in eine UitableView und eine andere ausgewählte Zeile anzeigen
Frage
Ich erstelle eine Anwendung mit a UITableView
Als er der erste Gegenstand auf dem Stapel des UINavigationController
dass es in. Eine Auswahl auf der UITableView
wird die Aussicht zu einem "drücken"DetailedViewController
". In dem DetailedViewController
, Sie können durch Elemente navigieren, mit denen die Tischansicht besiedelt ist.
Beim Packen der DetailedViewController
, und zurück zum der zurückbewegung UITableView
, Wie kann ich den jeweiligen Gegenstand, zu dem ich durch die navigiert habe? DetailedViewController
und anzeigen es zentriert in der UITableView
?
Ein Beispiel, das jeder sehen kann, wäre die E -Mail -Bewerbung. Wenn Sie in Ihrem Posteingang sind und eine Auswahl treffen, drücken Sie eine "DetailedViewController
". Dort können Sie durch die in der besiedelten Gegenstände navigieren UITableView
. Wenn Sie das packen DetailedViewController
, Es entscheidet den jeweiligen Gegenstand, den Sie zuletzt in der betrachteten DetailedViewController
.
Lösung
Schreiben Sie den folgenden Code, um die ausgewählte Zeile auszuwählen viewDidAppear:
Methode.
// Index path for selected row
NSIndexPath *selectedRow = [_tableView indexPathForSelectedRow];
// Deselet the row with animation
[_tableView deselectRowAtIndexPath:selectedRow animated:YES];
// Scroll the selected row to the center
[_tableView scrollToRowAtIndexPath:selectedRow
atScrollPosition:UITableViewScrollPositionMiddle
animated:YES];
Andere Tipps
Abhängig davon, wie die Animation aussehen soll, können Sie einfach Ihre aktuell ausgewählte Zeile auswählen.
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
...
}