如何判断在 UITableViewCell 中点击了一组图像

Posted

技术标签:

【中文标题】如何判断在 UITableViewCell 中点击了一组图像【英文标题】:how to tell which image of a set was tapped on in a UITableViewCell 【发布时间】:2012-03-30 04:50:02 【问题描述】:

对于我的一个表格视图,某些单元格中有图像,并且每个单元格中可能有多个图像。现在,当用户点击图像时,我想调出图像查看器来显示完整图像。但是我很难找出最好的方法来知道哪张照片被点击了。我将它们创建为 UIImageView。有什么建议吗?

【问题讨论】:

【参考方案1】:

为每个单元格的图像设置标签。

在.h中声明

 NSInteger TagValue ;

在.m ViewDidLoad

 TagValue = 0;

在 CellForRowAtIndexPath :

TagValue++;

image1.tag = TagValue;

TagValue++;

image2.tag = TagValue;

选择它,现在你有标签值,你可以得到特定的选定图像。

并从数组中获取图像

image1.image = [array objectAtIndex:image1.tag]; 

您将获得各自的图像。

【讨论】:

【参考方案2】:

为imageview设置标签,您可以轻松找到点击的图像

【讨论】:

这仅通过设置标签不起作用。你必须考虑什么是标签。如果第 1 行有 3 张图片,第 2 行有 2 张图片,那么图片标签是什么?【参考方案3】:

为特定单元格的每个图像设置标签,然后您可以通过它们的标签访问这些图像

【讨论】:

【参考方案4】:

您可以做的是,而不是使用 UIImageView ,而是使用服装按钮并设置该服装按钮的图像并为所有按钮提供不同的标签...每个单元格将具有一组具有不同标签的按钮,并通过分配单个选择器到所有按钮,您可以轻松确定单击了哪个图像。

【讨论】:

【参考方案5】:

您可以使用其他答案中建议的标签,也可以使用 switch case

在方法中-

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

switch(indexPath.section) 

    case 0:
//set the _imagename = @"Something"
break;

    case 1:
//set the _imagename = @"Something else"
break;


希望对你有帮助

【讨论】:

以上是关于如何判断在 UITableViewCell 中点击了一组图像的主要内容,如果未能解决你的问题,请参考以下文章

如何判断自定义 UITableViewCell Xib 在哪个 UIViewController 上?

如何在 swift 中使自定义 UITableViewCell 中的链接可点击

如何根据 UITableViewCell 点击更新 UINavigationItem?

如何从 UITableViewCell 中获取价值

从 UICollectionViewCell 中点击按钮时,如何引用 UITableViewCell?

当 UIStepper 在 Swift 4 中以编程方式点击时如何更改 UILabel 的文本,如果它们都在 UITableViewCell 中?