2016-03-25 3 views
0

So habe ich eine UITableView mit vielen Abschnitten, jeder Abschnitt enthält Elemente mit einem bestimmten Buchstaben des Alphabets (alphabetisch sortiert). Der Benutzer kann dieser Tabelle weitere Daten hinzufügen. Wenn er also ein neues Element hinzufügt, das in einen Bereich gehört, der nicht vorhanden ist, muss ein neuer Abschnitt erstellt werden. Das gleiche Problem beim Löschen: Wenn das letzte Element in einem Bereich gelöscht wird, wird der gesamte Bereich entfernt. Wie würde ich das animieren?Wie das Entfernen/Hinzufügen von TableView-Zellen bei Verwendung mehrerer Abschnitte animieren, während die Anzahl der Abschnitte die Möglichkeit hat, zu ändern

Ich habe etwas Ähnliches wie dieses gefunden: UITableview reloaddata with animation

Aber das hilft mir nicht. Es empfiehlt die Verwendung dieser Methode (In swift):

[_tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationFade]; 

Dies funktioniert gut, wenn Sie die gleiche Anzahl von Abschnitten vor und nach dem Neuladen haben, aber mir tut es nicht. Die Anzahl der Abschnitte könnte sich ändern und einen Absturz verursachen.

+0

Sie sicherstellen haben, müssen Sie nicht Tableview ändern müssen, während der Bearbeitung eingeschaltet ist. – vaibby

Antwort

1

Zu dem oben genannten Zweck sollten Sie die Daten nicht erneut laden. Für den neuen Abschnitt hinzugefügt, sollten Sie,

- (void)insertSections:(NSIndexSet *)sections 
     withRowAnimation:(UITableViewRowAnimation)animation 

zum Löschen der Abschnitt verwenden Sie verwenden sollten,

- (void)deleteSections:(NSIndexSet *)sections 
     withRowAnimation:(UITableViewRowAnimation)animation 
Verwandte Themen