Ich habe eine UITableView, die eine benutzerdefinierte Tabellenzelle verwendet, und jede Zelle hat eine UIWebView.
Da das Laden von UIWebView einige Zeit in Anspruch nahm, möchte ich vermeiden, sie um jeden Preis neu zu laden. In einigen Situationen habe ich alle Zellen geladen, aber ihre Höhen sind durcheinander. Daher muss ich die Tabelle "weiterleiten", ohne die Funktion "cellForRow" auszulösen.
- Ich kann reloadData definitiv nicht verwenden ... da dadurch die Zellen erneut geladen werden.
- Ich habe tableView.setNeedDisplay, setNeedsLayout usw. ausprobiert. Keiner von ihnen kann die Tabellenzellen neu anordnen
- Der einzige Weg, wie es funktioniert hat, ist das Aufrufen des Blocks beginupdates / endupdates. Dieser Block kann meine Tabelle weiterleiten, ohne cellForRow auszulösen! ABER ich wollte die Animation nicht! Dieser Block erzeugt einen Animationseffekt, aber ich will ihn nicht ...
Wie kann ich mein Problem lösen?
objective-c
uitableview
mkto
quelle
quelle
UITableViewRowAnimationNone
, aber damit kann die Animation leicht umgangen werden!Eine weitere Möglichkeit, dies mit Blöcken zu tun
Obj-C
Schnell
quelle
Ich arbeite an meinem Projekt, aber keine übliche Lösung.
quelle
Swifties Ich musste Folgendes tun, damit dies funktioniert:
quelle
setAnimationsEnabled(true)
in den Abschlussblock zu setzen .Ich bevorzuge einen reibungslosen Übergang:
Versuche es.
quelle
Ich wollte die Zellenhöhe für Abschnitt 5 aktualisieren und der folgende Code funktionierte für mich:
quelle