1

보이는 셀이 모두로드되었을 때 UIActivityIndicator에서 애니메이션을 중단하려고합니다. 내가 원격 서버에 전화를 걸 때 표시가 시작되고 나는 현재의 권리 return cell 전에 중지하고 :UICollectionView의 모든 보이는 셀을 감지하는 방법이로드되었습니다.

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 

이 완벽하지 않습니다 비록 activityIndicator는 않습니다 있도록이 메서드가 호출되지 않습니다 시간이 있기 때문에 멈추지 마라.

나는 에 대해 class reference을 조사했으나 해결 방법을 찾지 못했습니다.

이 게시물에 대한 대답은 내가 찾고있는 것이지만 컬렉션보기에서 작동하도록 조정할 수는 없습니다.

How to detect the end of loading of UITableView

내가 적절한 시간에 활동 표시를 중지 할 수있는 방법에 대한 생각?

+0

http://stackoverflow.com/questions/18857167/uicollectionview-cell-selection – Sport

+0

@Sport 빠른 응답에 대해 감사하지만 어떻게 도움이 될지 모르겠다. 질문과 답변은 모두'cellForItemAtIndexPath :'를 다룬다. 나는 이미 지표를 멈추고있다. 그러나 명시된 바와 같이 지표가 시작 되어도 메소드가 호출되지 않아서 결코 멈추지 않는 경우가있다. – Ben

+0

글쎄, 정확한 답변이 아닐지도 모르지만, 지적한 것 같습니다. 이런 경우를 관리하는 것이 더 좋습니다. 수집보기 셀 자체에서 처리하는 것이 좋습니다. 컬렉션 셀 수준에서 콘텐츠를로드하는 경우 특정 셀의 활동을 무시합니다. 셀이로드되면서 사용자가 상호 작용하고 작업을 시작할 수 있습니다. 전체 섹션이로드되기를 기다리는 것이 아니라 같은 네트워크 호출에서 모든 콘텐츠를 수신 한 경우 네트워크 호출을 수행하고 지시기를 사용하여 응답을받습니다. 모든 콘텐츠가 수신 된 후 데이터를 채우고 채 웁니다. –

답변

2

일부 백그라운드 스레드가 데이터를로드하는 동안 활동 표시기가 실행 중이라고 가정하면 해당 데이터를 콜렉션보기로 공급할 때 비활성화해야합니다.

일반적으로 검색된 데이터가 저장된 후 컬렉션보기에서 reloadData을 호출하면 데이터 소스 및 대리자 메서드가 호출됩니다. 이 시점에서 reloadData으로 전화 할 때 표시기를 제거하십시오.

+0

크리스토퍼 픽스 레이 (Christopher Pickslay)가 말한 것처럼 데이터를 다시로드 할 때 지연은 최소화되었으므로 일단 서버에서 데이터를 성공적으로 검색하고 코어 데이터 엔티티에 매핑하면 표시기가 제거됩니다. – Ben

관련 문제