Ich probiere die neuen collectionView:prefetchItemsAt
und collectionView:cancelPrefetchingForItemsAt
Methoden des Protokolls UICollectionViewDataSourcePrefetching
aus, aber keiner von diesen wird genannt. Der Delegat wird über den Schnittstellen-Builder festgelegt (aus Code mit dem gleichen Ergebnis getestet), das Implementierungsziel ist auf iOS 10 festgelegt, also sollte es theoretisch funktionieren. Also meine Frage ist, dass ich etwas vermisse, um es zum Laufen zu bringen, oder der Mechanismus ist ausgefeilter als ich dachte und das System hat nicht gefühlt, dass es das Vorabholen tun sollte?iOS 10 collectionView: prefetchItemsAt nicht angerufen
0
A
Antwort
1
Implementieren Protokoll "UICollectionViewDataSourcePrefetching" in Ihnen Viewcontroller als
Klasse Viewcontroller: UIViewController, UICollectionViewDataSourcePrefetching {
Sets folgend Delegierten zu Ihrer Sammlung Ansicht in Storyboard (siehe beigefügtes Bild) oder programmatisch
In ViewControllersviewDidLoad Methode
collectionView.delegate = Selbst
collectionView.dataSource = Selbst
collectionView.prefetchDataSource self =
dieses Beispiel finden - https://github.com/Be-With-Viresh/CollectionViewWithPrefetch
Ist ' UICollectionView-Eigenschaft namens ' prefetchingEnabled auf 'YES' gesetzt? Habe gerade diesen Fall in Xcode 8.0 beta 4 ausprobiert - funktioniert wie erwartet. –
@RomanErmolov ja, es wurde auf "wahr" gesetzt, aber keine Wirkung. Nur für die Referenz, ich benutzte Swift –
in der Theorie, die Sprache sollte überhaupt keine Rolle spielen. Ich kann raten, dass Sie keine unsichtbaren Zellen haben - wenn alle Zellen auf dem Bildschirm sind, wird diese Methode nicht aufgerufen. –