2017-04-10 1 views
0

I가 다음과 같은 시나리오 ... 내가 처음 UICollectionView를로드 할 때, 나는 그것이 헤더없이 화면 아래에서 위로 밀어 필요UICollectionView 헤더 높이 애니메이션

. 이것은 꽤 쉽습니다.

항목 추가 프로세스를 통해 사용자를 안내하는 "추가"셀이 있습니다. 이 프로세스가 끝나면 목록을 다시 표시하지만 이번에는 헤더를 표시합니다. 헤더가 페이드 인해야하고 동시에 업데이트 된 목록이 맨 아래에서 위로 슬라이드됩니다.

두 요구 사항을 모두 만족하는 헤더 스크롤이 필요한데, 이것이 기본 동작입니다.

헤더가 표시되어있는 동안 목록 슬라이드에 애니메이션을 적용하는 데 사용할 수있는 방법이 생겼습니다.

한 가지 생각은 헤더의 높이에 애니메이션을 적용하는 것입니다. 기본적으로보기 높이와 동일한 높이로 시작한 다음 최종 크기로 애니메이션을 적용합니다. 이렇게하면 자동으로 목록의 나머지 부분이 그려져 보이게됩니다.

나는이 방법을 몇 가지 시도해 보았지만 성공하지 못했습니다. 높이를 문제없이 설정할 수는 있지만 애니메이션을 만들 수는 없습니다.

referenceSizeForHeaderInSection에서 적절한 높이를 반환하고 데이터를 다시로드하면 처리 할 수 ​​있다고 생각했습니다. 적어도 그것은 내가 SO 메시지에서 수집 한 것입니다. 또한 layout 및 performBatchUpdates를 무효화하려고 시도했습니다.

헤더의 내용을 컬렉션보기의 첫 번째 행에 배치 한 다음 행 0의 높이에 애니메이션을 적용하면 더 간단할까요?

어떤 전략이 가장 좋은지 잘 모르겠습니다.

답변