Wie kann ich erkennen, Wann ein UITableView animation beendet ist?

Wie kann ich erkennen, Wann [UITableView setEditing:JA animiert:JA] abgeschlossen hat?

Ich will nicht zu geben, den Kontext, denn ich will vermeiden, jemand gibt mir workarounds, die interessieren mich nicht.

Was ich will, ist der Aufruf der oben genannten, dann haben Sie eine separate Funktion aufgerufen, wenn die animation abgeschlossen ist.


Bin ich bearbeitet die post zu geben, den Kontext und einige workarounds.
Ursprünglich hatte ich vor, setEditing und sofort laden Sie die Daten der Tabelle.

[tableView setEditing:YES animated:YES];
[tableView reloadData];

Das problem ist, dass die Tabelle neu geladen, bevor die animation beginnt, und damit die animation noch nie gesehen.

Hier sind einige verschiedene workarounds:

[tableView setEditing:YES animated:YES];
[self performSelector:@selector(ReloadTable) withObject:nil afterDelay:1.0];

Funktioniert es, aber wenn ich die Verzögerung falsch sind, dann wird es schlecht Aussehen. Also muss ich wissen, was die Verzögerung, die ich herausfinden kann, aber wir sind nicht garantiert, dass die Verzögerung immer die gleiche.

isEditing = YES;
[tableView reloadData];
[tableView setEditing:YES animated:YES];

Dies könnte funktionieren, aber die Tabelle verhält sich unterschiedlich, je nachdem, ob wir im Bearbeiten-Modus. Also ich habe mit meinem eigenen isEditing variable anstelle der standard-UITableView.- Bearbeitung. Ich würde lieber nicht haben, um eine neue Boolesche isEditing variable.

[tableView setEditing:YES animated:YES];
[tableView insertRowsAtIndexPaths:path withRowAnimation:UITableViewRowAnimationTop];

Diese fast funktioniert auch, aber im Bearbeiten-Modus die erste Zeile sollte die UITableViewCellEditingStyleInsert, während die anderen Zeilen bekommen UITableViewCellEditingStyleDelete. Und mit dem obigen code wird die Bearbeitungsart festgelegt wird, BEVOR die Zeile Hinzugefügt wird. Daher ist die zweite Zeile endet mit UITableViewCellEditingStyleInsert.

InformationsquelleAutor jriggs | 2011-08-26
Schreibe einen Kommentar