UITableView scrollt nach oben, wenn Zellen mit sich ändernden Zellenhöhen neu geladen werden.
Ich habe eine Tabellenansicht, die Platzhalter enthält, während sie in Bilder geladen werden. Wenn das Bild geladen ist, rufe ichreloadRowsAtIndexPaths:withRowAnimation:
. Zu diesem Zeitpunkt ändert sich die Höhe der Zelle basierend auf der Größe des Bildes. In diesem Fall soll der Inhaltsoffset der Tabellenansicht beibehalten und die Zellen darunter weiter nach unten verschoben werden, wie Sie sich vorstellen können.
Der Effekt, den ich stattdessen bekomme, ist, dass die Bildlaufansicht nach oben scrollt. Ich bin mir nicht sicher, warum das so ist, und ich kann es anscheinend nicht verhindern. PuttingbeginUpdates()
davor undendUpdates()
nach demreloadRows
line hat keine Auswirkung.
Ich benutzeestimatedRowHeight
, da meine Tabellenansicht möglicherweise Hunderte von Zeilen mit unterschiedlichen Höhen haben kann. Ich implementiere auchtableView:heightForRowAtIndexPath:
.
EDIT: Ich habe ein Demo-Projekt eingerichtet, um dies zu testen, und zugegebenermaßen kann ich das Demo-Projekt nicht dazu bringen, diesen Effekt zu reproduzieren. Ich werde weiter daran arbeiten.