Ich habe ein UITableView
mit UIRefreshControl
definiert in der viewDidLoad:
Methode eines UIViewController
wie unten:
Ich benutze Self-Sizing-Zelle, um die Zellendaten zu aktualisieren. Beim erneuten Laden der Daten flackert UITableView
. Gibt es eine Möglichkeit, dies zu vermeiden?
Bearbeiten
Ich habe die Video -Datei für eine Beispieldemo verknüpft. Das UITableView
beim Neuladen von Daten flackert. Ich verwende das automatische Layout, um die dynamischen Zellenhöhen zu aktualisieren.
Hier ist ein Beispiel Code, der dieses Problem reproduzieren kann. Das UITableView sollte zur Aktualisierung herangezogen werden. Die Tabellenansicht wird in der Hauptwarteschlange neu geladen. Die Größe der Zelle wird mit automatischem Layout geändert.
Ich schätze, das Problem ist die Verwendung von geschätztHeight & amp; UITableViewAutomaticDimension zusammen mit den reloadData von uitableview. Dies wurde hier
gemeldetDie Verzögerung würde funktionieren, aber es ist immer noch nicht der richtige Weg, um es zu erreichen, es sei denn, Sie wollen eine hackische Arbeit.
Das Problem ist, dass Sie -reloadData und -endRefreshing zusammen aufrufen. Beide möchten die Ansicht aktualisieren. Sie müssen sie ein wenig trennen.
Eine dieser Optionen funktioniert je nachdem, wo die Zellen aktualisiert werden sollen:
%Vor%Wahrscheinlich brauchen Sie weniger Verzögerung mit der ersten Option. Sogar 0.0 Sekunden schienen in Ihrem Beispielcode zu funktionieren. Das ist genug, um die Animation -endRefreshing auf der nächsten Bildschirmaktualisierung zu erhalten.
Tags und Links objective-c uitableview ios uiviewcontroller uirefreshcontrol