2016-07-20 8 views
2

Ich baue eine Chat-Schnittstelle. Ich verwende mehrere Arten von TableView-Zellen in UITableView. Tabellenansichtszellen flackern, wenn eine neue Zelle in tableView aus wiederverwendbarer Zelle hinzugefügt wird. Ich entferne Tableview-Zellen mit folgendem Code. Wie wird das Scrollen ohne Flackern geglättet?warum Tableview-Zellen flackern, wenn sie wiederverwendet werden?

+0

laden Sie TableView in Ihrer App neu? –

+0

@PranavGupte ich neue Tabellenansicht Zellen in zwei Methoden hinzufügen. self.tableView.insertRowsAtIndexPaths ([indexPath], withRowAnimation: Animation) self.tableView.scrollToRowAtIndexPath (indexPath, atScrollPosition: UITableViewScrollPosition.Bottom, animierte: true) und –

+0

Addierelement Datenquelle und unter Verwendung von tableview.reloaddata() –

Antwort

1

Der Hauptgrund für das Flackern ist, dass tableView Daten erhält spät in der Zeit zu sein. Wenn Sie scrollen, dauert es also eine Weile, um von einem Typ von tableViewCell zu einem anderen zu wechseln. Außerdem können Sie DB-Operationen in cellForRowAtIndexPath ausführen, die die Rückgabe von tbaleViewCell verzögern. Zur Implementierung von Smooth Scrolling beziehen Sie sich auf this

+0

Ich habe versucht Machen Sie die Zellkofiguration in der Willensanzeigezelle. trotzdem hat es nicht funktioniert. –

+0

Wenn Sie in DB-Operationen entweder in "willDisplay" oder "cellForRowATIndexPath" vorgehen, versuchen Sie, alle Daten in einem Array abzurufen und sie gleichzeitig für die Anzeige von Zellinhalten zu verwenden. Führen Sie keine DB-Operationen pro Zelle durch. –

+0

Problem tritt nur auf, wenn ich versuchte, neue Zelle hinzuzufügen. Zu dieser Zeit flackert nur das Scrollen. Angenommen, Benutzer möchte eine Nachricht hinzufügen, dann flackert es. –

Verwandte Themen