在 TableView 中检测 UIGestureRecognizer 的出处单元

Posted

技术标签:

【中文标题】在 TableView 中检测 UIGestureRecognizer 的出处单元【英文标题】:Detect provenance cell of an UIGestureRecognizer in a TableView 【发布时间】:2016-03-11 15:08:32 【问题描述】:

我有一个动态的 TableView,在每个单元格中都有一个 MKMapView。我需要这样,当用户点击地图(仅限地图)时,应用会显示一个带有扩展地图的新控制器。

我开始在地图上放置一个 UITapGestureRecognizer,但我发现,从 ios 9 开始它不起作用,所以我遵循了这个 https://***.com/a/35377200/2085352 并且它工作正常;问题是我找不到检测 UITapGestureRecognizer 来自哪个单元格的方法。

我尝试为每个 UITapGestureRecognizer 分配一个标签,但似乎不可能,我该怎么办?

【问题讨论】:

【参考方案1】:

如果您正在使用您喜欢的解决方案,您可以从第 4 步中传递给函数的 UITapGestureRecognizer 确定单元格:

func imgFaild_Click(sender: UITapGestureRecognizer) 
   let location = sender.locationInView(self.tableView)
   let indexPath = self.tableView.indexPathForRowAtPoint(location)
   //do something with the indexPath
 

【讨论】:

以上是关于在 TableView 中检测 UIGestureRecognizer 的出处单元的主要内容,如果未能解决你的问题,请参考以下文章

UIGesture 返回 UIImageView 而不是自定义视图

如何使用 UIGesture 将 UIImage 添加到应用程序中的大多数视图。

UIGesture 在 IOS 中因未知原因失败

在某些情况下,孩子如何忽略 UIGesture 并让 superview 处理它?

UIScrollView 阻止我的 UIGesture 进行视图转换

UIGesture 识别器,区分单击和双击。