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?
Antwort
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
Ich habe versucht Machen Sie die Zellkofiguration in der Willensanzeigezelle. trotzdem hat es nicht funktioniert. –
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. –
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. –
- 1. Flackern, wenn sie
- 2. Werden Roslyn SyntaxNodes wiederverwendet?
- 3. Werden Android Service-Instanzen wiederverwendet?
- 4. Soll ein Executor wiederverwendet werden?
- 5. Stoppen Sie flackern, wenn Sie div dynamisch fixieren
- 6. Kann die VM von MVVM wiederverwendet werden?
- 7. Können Primärschlüssel nach dem Löschen wiederverwendet werden?
- 8. Können inaktive Broadcast-Empfänger wiederverwendet werden?
- 9. Werden Threads zwischen Anforderungen in ASP.Net wiederverwendet?
- 10. Werden Sockets beim Ereignis Wiederverbinden wiederverwendet?
- 11. Kann JDBI DAO-Instanz wiederverwendet werden?
- 12. Vermeiden Sie Flackern bei Mouseover
- 13. Kann @ Param Beschreibungen in JavaDoc wiederverwendet werden?
- 14. Wie können JDBC-Verbindungen wiederverwendet werden?
- 15. Kann SurfaceView nach MediaPlayer.release() wiederverwendet werden?
- 16. ImageViews Flackern, bevor sie sichtbar sein sollten
- 17. Vermeiden Sie Flackern in Windows Forms?
- 18. Werden in Docker Bilder wiederverwendet, wenn mehrere Container auf demselben Host ausgeführt werden?
- 19. Wie newCachedThreadPool Threads wiederverwendet?
- 20. Flackern Flugzeuge
- 21. Kann ein Standard-Thread für den Thread Pool wiederverwendet werden?
- 22. AngularJS - DOM-Elemente flackern
- 23. Wird Rowid wiederverwendet?
- 24. Xcode Code Completion "flackern"
- 25. Bilder flackern in IE
- 26. Wie wird eine Box wiederverwendet?
- 27. Warum flackern/stottern Übergänge in einer separaten Funktion (D3)
- 28. Tooltip unter Mauszeiger - flackern
- 29. Wie können Projektionen im Entity Framework wiederverwendet werden?
- 30. VideoView Flackern Problem
laden Sie TableView in Ihrer App neu? –
@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 –
Addierelement Datenquelle und unter Verwendung von tableview.reloaddata() –