2016-09-25 3 views
0

오랫동안 나를 귀찮게하는 것이 있습니다.-preload- UICollectionViewCell하는 방법이 있습니까?

UICollectionViewCell을 미리로드 할 수있는 방법이 있습니까? 데이터를로드하기 전에 준비 할 항목이 있으므로 사용자가 스크롤하는 동안 셀이 만들어지지 않습니다.

UICollectionViewCell을 만들려면 WHEN을, UICollectionViewCell을 파괴하려면 WHEN을 완전히 제어 할 수있는 방법이 있습니까? Apple documentation에서

+0

WWDC 비디오보기 ... Apple이 컬렉션보기에 API 수정 및 성능 향상을 도입 한 것을 기억합니다 ... –

답변

0

:

당신은 일반적으로이 클래스 자신의 인스턴스를 생성하지 않습니다. 대신 특정 셀 하위 클래스 (또는 클래스의 구성된 인스턴스가 포함 된 nib 파일)를 컬렉션 뷰 객체에 등록합니다. 셀 클래스의 새 인스턴스를 원하면 컬렉션 뷰 객체의 dequeueReusableCell (withReuseIdentifier : for :) 메서드를 호출하여 컬렉션 클래스 객체를 가져옵니다.

셀 자체는 무거운 리소스가 아니므로 셀의 수명을 맞춤 설정하는 것이 좋습니다. 셀 생성을 제어하는 ​​방법을 찾는 대신 셀을 미리로드하려는 이유는 무엇입니까? 어떤 종류의 무거운 자원을 미리로드 하시겠습니까? 대답에 따라 당신이 다음 시도 할 수 있습니다 최적화 : 귀하의 휴대 일부 복잡한 계산 또는 원격의 결과를 표시해야하는 경우

  • 당신이 당신의 셀에 복잡한 뷰 계층을 수동 설정에 자동 레이아웃에서 리팩토링을 고려하는 경우는
  • 프레임 이미지를 사용하려면 이러한 리소스를로드하기위한 별도의 아키텍처 레이어가 필요하며 어쨌든 셀 클래스에서 사용하면 안됩니다. 필요한 경우 캐싱을 사용하십시오.
0

씬에 들어가는 동안 화면을 블랙 아웃하고 각 셀 유형으로 이동 (스크롤) 할 수 있습니다. 각 셀을 스크롤 할 때 블랙 아웃보기를 숨기고 첫 번째 셀 (맨 위)에 컬렉션보기를 표시해야합니다.

몇 가지 해결 방법입니다. 내 셀에는 이미지와 같은 많은 리소스가 있으며 콜렉션 뷰를 스크롤하는 동안 지연됩니다.

관련 문제