Получение изображения внутри 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 будет содержать копию изображения из выбранной ячейки. Надеюсь это поможет