Nur neugierig, ist es möglich, die Wiederverwendungsfunktion auf UICollectionview
zu deaktivieren?
Ich habe eine begrenzte Anzahl von Zellen, die variieren können, aber die Reinitialisierung der Zelle könnte ein wenig schwer sein und ich bin besser dran, sie nicht wiederzuverwenden.
Versuchen, die Zelle ohne dequeueReusableCellWithReuseIdentifier
zu initialisieren, bekomme ich die Ausnahme:
NSInternalInconsistencyException ', Grund:' Die von collectionView zurückgegebene Ansicht: cellForItemAtIndexPath: wurde nicht durch Aufrufen von -dequeueReusableCellWithReuseIdentifier: forIndexPath abgerufen.
die Reinitialisierung der Zelle könnte ein wenig schwer sein
Es ist unwahrscheinlich, dass das Zurücksetzen des Inhalts einer Zelle teurer ist als das Erstellen einer neuen Zelle - der Sinn der Wiederverwendung von Zellen besteht darin, die Leistung zu verbessern, indem die Notwendigkeit vermieden wird, ständig neue Zellen zu erstellen.
Versuchen, die Zelle zu initialisieren, ohne dequeueReusableCellWithReuseIdentifier Ich bekomme die Ausnahme:
Ich würde das als starkes Indiz dafür nehmen, dass die Antwort auf Ihre Frage nein lautet. Außerdem Die Dokumentation sagt :
... Für die Sammlungsansicht müssen Sie die Sichten immer aus der Warteschlange entfernen, anstatt sie explizit in Ihrem Code zu erstellen.
Also nochmal, nein .
Um die Wiederverwendung von Zellen zu deaktivieren, entfernen Sie einfach Ihre Zelle mit einem spezifischen Bezeichner für diesen Zellindexpfad und registrieren diesen Bezeichner vorher.
%Vor%Beachten Sie, dass die Wiederverwendung in der obigen Methode nicht vollständig deaktiviert ist, da es für jede Zelle eine Kennung gibt, die wahrscheinlich jeder benötigt. Aber wenn Sie die Wiederverwendung von Zellen vollständig deaktivieren müssen, können Sie Folgendes tun:
%Vor%WICHTIG : Ich beantworte nur die Frage hier, das ist komplett nicht empfohlen , besonders diese zweite Methode. Ich benutze diese erste Methode in einem Fall, in dem ich multidirektionales Scrollen habe und es gibt einige Delegiertenmethoden bezüglich der Fokussierung auf tvOS, die ich für jede Zelle aufrufen muss.
Tags und Links objective-c ios cocoa-touch