如何从集合视图单元格内的图像视图访问图像



我有一个集合视图,其中的单元格填充了图像&按钮(如果按下相关按钮,则将图像添加到图库(

(我需要一个用于全屏操作的didSelectItem委托方法,所以我不能将其用于添加操作(

我为每个单元格和单元格中的每个按钮分配了相同的标签,这样我就可以在按下按钮时读取标签。

现在我需要访问相关细胞的图像,但该图像的关键是什么?

我正在寻找类似的东西:

@IBAction func addFromCell(_ sender: UIButton) {
imagesArray.append(myCollectionView.cellForItem(at: sender.tag).imageView.image)
}

但这行不通。。

单元格中的图像是视图。这不是你想要的。永远不要将视图视为数据。你想要的是这是什么图像的数据

问问自己:图像最初是如何进入细胞的?这是因为您将它放在了cellForItemAt:实现中。你的cellForItemAt:是怎么知道要把什么图像放进那个细胞的?它根据单元格的索引路径查看数据模型

因此,当按下按钮时,您只需要知道该按钮单元格的索引路径,现在您只需在模型中查找图像即可。这很容易找到,因为你知道这是什么单元格,也知道它占据了什么索引路径。

您可以使用闭包访问集合视图单元格内的按钮。

最新更新