2012-06-06 6 views
0

iPad 응용 프로그램에서 20 개의 비디오 앨범 이미지 목록이 표시된 스크롤보기가 있습니다. 20 개의 이미지 목록이 서버에 의해 전송됩니다.
이제 사용자가 스크롤보기의 끝에 도달하면 다음 10 개의 비디오 세부 정보를 얻기 위해 요청을 보내야합니다.
데이터를 가져온 후 끝에 스크롤보기에 추가하고 싶습니다. 하지만 처음에는 10 개의 비디오를 삭제하고 싶습니다. 따라서 스크롤보기에는 항상 20 개의 비디오 세부 정보 만 표시됩니다.
사용자가 다시 끝까지 스크롤하면 서버에 요청을 보내고 다음 10 개의 비디오 세부 정보를 가져 와서 스크롤보기에 추가하고 스크롤 시작에서 10 개의 비디오 세부 정보를 제거하고 ...... 마찬가지로 사용자가 스크롤 할 때 처음에는 10 개의 이전 비디오를 가져 와서 반복합니다.
여기서는 스크롤이 부드럽고 스크롤 뷰에서 깜박 거리지 않게하고 싶습니다. 어떤 사람은 내 요구 사항을 만족시키기 위해 더 나은 스크롤 뷰 코딩을 제안 할 수 있습니까?ios - UIScrollView를 부드럽게 만들기

답변

0

여기 실제 문제는 셀 재활용을 설정하는 것입니다. 그렇게하는 것이 어렵지 않습니다, 당신이 볼 수있는 몇 가지 예가 있습니다, 하나는 here입니다. 그 코드에 몇 가지 변경을해야합니다. "페이지"에 설정되어 있습니다. 한 번에 한 화면에서만 화면을 볼 수 있으며, 원하는대로 생각하지 않습니다. 그에서 제외

... 여기

귀하의 중요한 부분 항목을 생략하지 않고, 오래된 항목의 제거 허용하는 방식으로 데이터 소스를 설계하고 새 항목을 추가하는 것입니다.

예를 들어, 내가 접근 할 수있는 방법은 스크롤보기에서 "마지막"항목을 렌더링하는 것입니다. 스크롤보기의 첫 번째 항목을 원하는 것과 동일하게 만듭니다. 사용자가 마지막 항목에 도달하면 애니메이션없이 스크롤 오프셋의 시작 부분에 콘텐츠 오프셋을 설정합니다 (실제로 시도하지 않았으므로 원하지 않는 충격이 가해질 수 있으므로 테스트하고 확인하십시오). 이렇게하면 끝없이 스크롤됩니다. 데이터 소스는 예를 들어 배열 끝에 추가하는 대신 새 항목을 추가 할 때 이전 색인을 단순히 덮어 씁니다.

0

그리드보기의 형태로 제시 할 경우 AQGridView을 살펴 보시기 바랍니다. 그리드 뷰는 셀 큐잉과 큐 제거를 지원하는데, 이는 당신이 묘사하는 것을 정확하게 수행합니다.

대리자 메서드 scrollViewDidScroll :을 사용하여 스크롤 뷰의 맨 아래에 있는지 확인하고 다음 앨범 세트를 다운로드 할 수 있습니다.

2

코드에 scroll.pagingEnabled = YES;이 포함 된 경우이 코드 부분을 제거하십시오. 확실히 작동합니다.

관련 문제