collectionViewをスクロールするとcellのsubviewが別のcellに移動する
collectionViewをスクロールするとcellのsubviewが別のcellに移動して困っております。
カメラロールの写真を取得し、collectionviewへ順に配置。
配置されたcellをタップするとtwitterのようにsubviewをcellへ追加するという処理を書いています。
#pragma mark - UICollectionViewDataSource
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
PHAsset *asset = self.assets[indexPath.item];
CameraRollCell *cell = (CameraRollCell *)[collectionView dequeueReusableCellWithReuseIdentifier:cameraRollCellID forIndexPath:indexPath];
[self.imageManager requestImageForAsset:asset
targetSize:self.cellSize
contentMode:PHImageContentModeDefault
options:nil
resultHandler:^(UIImage *result, NSDictionary *info) {
if (result) {
cell.backgroundView = [[UIImageView alloc] initWithImage:result];
}
}];
return cell;
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
PHAsset *asset = self.assets[indexPath.item];
CameraRollCell *cell = (CameraRollCell *)[collectionView cellForItemAtIndexPath:indexPath];
[cell selectPhoto];
}
そう思い、このような処理を書きました。selectPhoto
を呼ぶことで、カスタムセル内にある、自らにsubviewを追加するという処理が走ります。
追加までは無事完了するのですが、collectionviewをスクロールすると、imageViewはそのままに、その追加されたsubViewが別のcellに移動してしまいます。
どのようにすればこの不具合は起こらなくなるでしょうか?
ご回答、よろしくお願い致します。