обнаружение, когда iOS UICollectionCell уходит с экрана
У меня есть UICollectionView, который хранит изображения в качестве элементов в своем хранилище данных.
Я хочу загрузить изображение высокого разрешения в элемент только тогда, когда его соответствующий UICollectionViewCell в данный момент отображается на экране. Позже, когда UICollectionViewCell исчезнет с экрана, я хочу вернуть элемент UIImage в версию с низким разрешением.
UICollectionViewCell уходит с экрана?
(я пытался использовать метод prepareForReuse, но я не могу предсказать, когда это будет называемый).
В настоящее время я использую фрагмент кода, который находится в scrollViewDidScroll, и каждый раз, когда прокручивается представление, я проверяю self.collectionView.visibleCells, чтобы увидеть, какие ячейки прокрутились вне экрана.
Это кажется немного накладными расходами, и мне интересно, есть ли метод, вызываемый на самом UICollectionViewCell всякий раз, когда он прокручивается экрана ?
2 ответа:
collectionView:didEndDisplayingCell:forItemAtIndexPath:метод onUICollectionViewDelegateдолжен делать то, что вы хотите.
Из Документации. collectionView: didEndDisplayingCell вызывается сразу после завершения отображения, а не когда он уходит с экрана
Используйте этот метод, чтобы определить, когда ячейка удаляется из представления коллекции, в отличие от мониторинга самого представления, чтобы увидеть, когда она исчезает