erkennt, wenn eine iOS UICollectionCell vom Bildschirm verschwindet

8

Ich habe ein UICollectionView , das Bilder als Elemente in seinem Datenspeicher enthält.

Ich möchte ein Bild mit hoher Auflösung nur dann in das Element laden, wenn sein entsprechendes UICollectionViewCell gerade auf dem Bildschirm angezeigt wird. Später, wenn der UICollectionViewCell Bildschirm ausgeht, möchte ich das UIImage des Elements in die Version mit niedriger Auflösung zurückgeben.

Meine Frage ist, wie kann ich erkennen, wenn ein UICollectionViewCell Bildschirm ausgeht?

(Ich habe versucht, die Methode prepareForReuse zu verwenden, kann aber nicht vorhersagen, wann sie aufgerufen wird).

Ich verwende derzeit einen Code, der in scrollViewDidScroll steht, und jedes Mal, wenn die Ansicht scrollt, überprüfe ich die self.collectionView.visibleCells , um zu sehen, welche Zellen vom Bildschirm gescrollt wurden.

Es scheint ein bisschen Overhead zu sein, und ich frage mich, ob es eine Methode gibt, die UICollectionViewCell selbst aufgerufen wird, wenn es vom Bildschirm gescrollt wird?

    
Boaz Saragossi 27.08.2013, 12:30
quelle

2 Antworten

24

Die collectionView:didEndDisplayingCell:forItemAtIndexPath: Methode für UICollectionViewDelegate sollte tun, was Sie wollen.

    
Mike Weller 27.08.2013, 12:48
quelle
0

Aus der Dokumentation. collectionView: didEndDisplayingCell wird direkt nach der Anzeige aufgerufen, nicht beim Ausschalten des Bildschirms

Verwenden Sie diese Methode, um zu erkennen, wenn eine Zelle aus einer Sammlungsansicht entfernt wird, anstatt die Ansicht selbst zu überwachen, um zu sehen, wann sie verschwindet

    
Yesbol Kulanbekov 03.08.2017 05:43
quelle