Получение изображения внутри UICollectionViewCell

У меня есть представление коллекции. Каждая ячейка этого представления коллекции имеет UIIMageView, помеченный тегом 100.

В какой-то момент ячейки отображаются. Пользователь выбирает ячейку. Я хочу сделать копию этого изображения внутри imageView этой ячейки.

Это код:

UICollectionViewCell *touchedCell = [self.collectionView dequeueReusableCellWithReuseIdentifier:reuseIdentifier forIndexPath:indexPath];

UIImageView *imageView = (UIImageView *)[touchedCell viewWithTag:100];

UIImage *image = imageView.image;

Проблема в том, что на этом этапе изображение равно нулю. touchedCell а также imageView не ноль.

Почему это так и как я могу получить это изображение?

1 ответ

Решение

Следуйте за этим - сначала создайте переменную экземпляра

@implementation MyClass {
 UIImage *newImage
}

Затем реализуйте этот делегированный метод collectionview

-(void)collectionView:(UICollectionView *)collectionView 
   didDeselectItemAtIndexPath:(NSIndexPath *)indexPath {

CustomCollectionViewCell *datasetCell = 
  (CustomCollectionViewCell *)[collectionView cellForItemAtIndexPath:indexPath];
 newImage = [UIImage imageWithCGImage:cell.customImageVIew.oldImage.CGImage];
}

Таким образом, ваша переменная экземпляра newImage будет содержать копию изображения из выбранной ячейки. Надеюсь это поможет

Другие вопросы по тегам