在 UICollectionViewCell 中获取图像

Posted

技术标签:

【中文标题】在 UICollectionViewCell 中获取图像【英文标题】:Getting image inside UICollectionViewCell 【发布时间】:2015-09-02 07:58:40 【问题描述】:

我有一个收藏视图。此集合视图的每个单元格都有一个标有标签 100 的 UIIMageView。

在某一时刻,会显示单元格。用户选择一个单元格。我想在该单元格的 imageView 中复制该图像。

这是代码:

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

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

UIImage *image = imageView.image;

问题在于,此时 image 为 nil。 touchedCellimageView 不为零。

为什么会这样以及如何获得该图像?

【问题讨论】:

用户触摸单元格后你的意思是什么,您对上述代码的实现似乎是cellForItemAtIndexPath 我认为他不会与 dequeueReusableCellWithReuseIdentifier 一起使用。您在哪里调用此代码? 图片是否显示在您的收藏视图中? 【参考方案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 将包含您选择的单元格中图像的副本。 希望这会有所帮助

【讨论】:

以上是关于在 UICollectionViewCell 中获取图像的主要内容,如果未能解决你的问题,请参考以下文章

在 UICollectionViewCell 中更新 UITableView

如何在 UICollectionViewCell 中添加 UICollectionView?

如何在 UICollectionViewCell 上设置 UILabel?

UICollectionViewCell 边框/阴影

如何在 iOS 7 中刷新 UICollectionViewCell?

UICollectionviewcell 中未显示数据?