2013-02-16 2 views

답변

4

bottomRefreshControl 속성을 구현하는 UIScrollView 클래스 (상위 UICollectionView 클래스)의 CCBottomRefreshControl 카테고리입니다. iOS 6 및 7 기본 새로 고침 컨트롤과 호환됩니다.

-2

수 없습니다. UIRefreshControl은 전혀 사용자 정의 할 수 없습니다.

9

UIRefreshControl을 사용할 수 없지만 더 간단한 솔루션을 사용해도 괜찮 으면 아래로 스크롤 할 때 더 많은 데이터를 자동으로로드하도록 컬렉션보기를 설정할 수 있습니다. (덧붙여서, 이것은 훨씬 더 일반적인 사용자 인터페이스입니다 ... 새로 고침까지 끌어 올리는 것은 흔한 일은 아니지만 바닥에 닿았을 때 더 많은 데이터를 자동으로 검색하는 것입니다.)

가장 원시적 인 변환은 응답하는 것입니다. 당신이 컬렉션 뷰의 맨 아래로 스크롤 한 경우와 UIScrollViewDelegate 방법은 결정 (자체의 UIScrollView의 서브 클래스 인) :

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    if ((scrollView.contentOffset.y + scrollView.frame.size.height) >= scrollView.contentSize.height) 
    { 
     if (!self.isLoadingMoreData) 
     { 
      self.loadingMoreData = YES; 

      // proceed with the loading of more data 
     } 
    } 
} 

더 나은, 당신은로드 할 더 많은 데이터가있는 경우, 쇼 아래쪽에있는 셀에 UIActivityIndicatorView과 함께 "기다려주십시오, 더 많은 데이터를로드 중입니다."라는 메시지가 표시됩니다. 예를 들어로드 할 데이터가 더 많은 경우 섹션 하나를이 셀 하나에 추가하십시오. 이 추가 셀의 형식을 올바르게 지정하면 (예 : 콜렉션 뷰 전체에서 이동하는 단일 셀) 원하는 효과를 확실히 렌더링 할 수 있습니다.

+0

사용자에게이 알림을 제공하기위한 샘플 코드가 있습니까? 끝까지 스크롤 할 때 데이터를로드하고 모든 것이 잘 작동합니다. 이제 데이터가로드 될 때 알림 만 필요합니다. 이 알림을 수행하기 위해 추가 셀을로드하는 것이 간단하지 않습니다. 감사! –

+1

@ S.Birklin - 생각보다 쉽습니다. 그냥'numberOfRowsForSection'이 여분의 행 하나를 반환하게하십시오 (가져올 추가 데이터가 있다고 가정하십시오). 그러면 'cellForRowAtIndexPath'는 기존 데이터의 범위를 넘어서고 "로딩"셀을 보여줄 수 있습니다. 간단한 설명을 위해 https://github.com/robertmryan/UITableView-Bottom-Refresh를 참조하십시오. – Rob

+1

이것은 받아 들여진 대답이어야합니다 –

관련 문제