Wann wird die Größe des UITableView-Inhalts mit der Zeile "Animation einfügen / löschen" aktualisiert?

9

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?

    
SLEW 13.07.2013, 22:04
quelle

3 Antworten

2

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%     
Daren 06.09.2013 19:19
quelle
1

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.

    
otto 11.01.2017 01:42
quelle
0

Die Inhaltsgröße wird geändert, nachdem Delegaten über die Höhe aufgerufen wurden:

%Vor%     
Yong Li 13.07.2013 23:58
quelle

Tags und Links