Ich bin neugierig, wenn die Inhaltsgröße von UITableView nach dem Einfügen / Löschen eines Animationsaufrufs aktualisiert wird. Ich dachte, es wäre wie bei den meisten [UIView Animation ...] Blöcken, da die Rahmengröße / Inhaltsgröße sofort aktualisiert würde, obwohl die Animation nicht abgeschlossen wurde, aber es scheint nicht so zu sein. Irgendwelche Ideen?
Leider konnte ich die contentSize beim Hinzufügen / Löschen von Zeilen aus einem UITableView nicht verbessern, aber ich habe einen Weg gefunden, um zu berechnen, was es sein wird, wenn Sie die Indexpfade von Zellen, die Sie hinzufügen / entfernen.
Mit dem Indexpfad der geänderten Zeilen können Sie die Höhen der jeweiligen Zellen mit der Methode tableView: heightForRowAtIndexPath: berechnen und zur aktuellen Höhe der Inhaltsgröße der Tabellenansicht hinzufügen. Hier ist ein Beispiel, wenn Sie nur eine Zeile hinzufügen:
%Vor% Es sieht so aus, als ob sizeThatFits()
die Höhe eines neuen contentSize
aussetzen kann, der aussteht. Sie können diese ausstehende Größe dann zuweisen, damit sie für Bildlaufanimationen frühzeitig aufgelöst wird.
Mit so etwas:
%Vor%Ich kann View-Controller-Code wie folgt schreiben:
%Vor%und lassen Sie die Tabelle ganz nach unten scrollen (mit der neuen Inhaltsgröße), anstatt sie in die vorletzte Zeile (mit der alten Inhaltsgröße) zu scrollen.
Tags und Links uitableview ios cocoa-touch