UICollectionView에 SDWebImage가 표시되면 indexPath가 zoombie로 바뀝니다.

1660 단어 iOS

개요


SDWebImage를 통해 이미지를 로드하고 CollectionView로 표시합니다.터치하면push ViewController가 합니다.이렇게 쉽게 실현될 때 indexPath가 zoombie로 변하는 현상이 발생한다.당시의 대응 노트.
1000px 이상의 아이패드를 크기가 큰 그림으로 불러올 때 빈번하게 발생합니다.xib 사용.

수정 전

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

    CollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:_cellIdentifier forIndexPath:indexPath];

    // item取得
    HogeClass item = self.items[indexPath.row];

    // item.urlを使用して画像読み込み
    [self.thumbnail sd_setImageWithURL:[NSURL URLWithString:item.url] placeholderImage:nil options:0 progress:nil needIndicatorColor:NO completed:nil];

    return cell;
}


- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
    // タップしたらpushViewContollerする処理
}

※cellのregistNib等は行っているものとする

실제 컴퓨터(ipad)를 시작하고 그림을 대량으로 읽고 계속 스크롤
zoombie가 발생하다.

대응


1s h o u d HighlightItemAtIndexPath 추가
- (BOOL) collectionView:(UICollectionView *)collectionView shouldHighlightItemAtIndexPath:(NSIndexPath *)indexPath{

    return NO;
}
두 번째
  • didSelectItemAtIndexPath 폐지
  • CollectionViewCell의 사용자 정의 클래스에서 헤더 동작
  • 참고 자료


    UICollectionView mysterious crash

    좋은 웹페이지 즐겨찾기