Ich verwende ein UITableView in meiner iOS App und habe kürzlich ein seltsames Problem festgestellt.
Angenommen, meine Tabelle ist folgendermaßen aufgebaut:
%Vor%(Beachten Sie, dass Abschnitt 2 keine Zeilen enthält)
Ich führe Updates für die Zeilen in meiner Tabelle über
durch %Vor%Ich möchte nicht, dass Animationen stattfinden. Ich möchte nur, dass die Zeile aktualisiert wird. Das Problem ist, dass diese Strategie für alle Zeilen und Abschnitte in der Tabelle mit Ausnahme von , Abschnitt 3, Zeile 1, funktioniert: die erste Zeile des letzten Abschnitts. Wenn ich diese Zeile (die in der Tat die richtigen indexPaths verwendet) aktualisiere, macht die Zeile, statt eine Animation zu erhalten, diesen kleinen Sprung, als ob sie in einer neuen Zeile gleitet, um die alte Zeile oder etwas zu ersetzen. Die Reihe gleitet leicht nach oben und dann wieder nach unten, als würde ich eine Reihe einfügen. Ich vermute, es hat etwas mit den Header-Berechnungen zu tun, aber ich gebe korrekte Werte für heightForHeaderInSection zurück.
Hat jemand dieses Verhalten gesehen?
Ich hatte das gleiche Problem. Die Lösung war, die Zelle aus der Tabelle zu holen mit:
UITableViewCell* cell = [self.tableView cellForRowAtIndexPath:indexPath]
und aktualisieren Sie es dann manuell mit einer benutzerdefinierten Setup-Methode oder einfach mit:
[cell setNeedsLayout]
Weitere Informationen finden Sie unter
Tags und Links uitableview ios