8

사진을 데이터 저장소의 요소로 보유하는 UICollectionView이 있습니다.iOS UICollectionCell이 화면을 벗어나는 시점을 감지합니다.

UICollectionViewCell이 현재 화면에 표시 될 때만 요소에 고해상도 그림을로드하려고합니다. 나중에 UICollectionViewCell이 화면에서 꺼지면 해당 요소의 UIImage을 저해상도 버전으로 되돌리고 싶습니다.

제 질문은 UICollectionViewCell이 화면을 벗어날 때 어떻게 감지 할 수 있습니까?

(나는 prepareForReuse 메서드를 사용해 보았지만 언제 호출 될지 예측할 수 없습니다).

저는 현재 scrollViewDidScroll에있는 코드를 사용하고 있으며보기가 스크롤 될 때마다 self.collectionView.visibleCells을 검사하여 화면에서 스크롤 된 셀을 확인합니다.

화면이 스크롤 될 때마다 UICollectionViewCell이라는 메서드가 있는지 궁금합니다.

답변

24

UICollectionViewDelegatecollectionView:didEndDisplayingCell:forItemAtIndexPath: 방법은 원하는대로해야합니다.

+1

내가 찾고있는 것! 고맙습니다 so much –

+0

고마워요 :) 이것이 내가 찾고있는 것입니다 : – Srikanth

+3

이 메서드와 관련된 유일한 문제는 'collectionView'가'reloadData' 메시지를받을 때 호출된다는 것입니다. – Mazyod

0

문서. collectionView : 그것은 셀이 콜렉션 뷰에서 제거 될 때 볼 수있는 뷰 자체 모니터링에 반대가

을 사라지면, 감지 화면을

이 방법을 사용을 이동하지 않을 경우, 표시 완료 후 바로 didEndDisplayingCell가 호출됩니다