Swift - 如何从UIImageView上的自定义UITableViewCell获取行数据从单元格内单击

时间:2015-04-13 19:35:25

标签: ios uitableview swift uiimageview uitapgesturerecognizer

我正在尝试获取与单元格中单击UITableViewCell的{​​{1}}相关联的数据。我目前必须捕获click事件的代码工作正常。但是,一旦我进入调用的click函数,我就无法从单击UIImageView的{​​{1}}中检索关联数据。以下是我用来设置点击事件的代码。此代码包含在UITableViewCell

UIImageView

以下是点击cellForRowAtIndexPath:时调用的函数 var tap = UITapGestureRecognizer(target: self, action: Selector("staticMap_click:")) cell.imgStaticMap.addGestureRecognizer(tap) cell.imgStaticMap.userInteractionEnabled = true

staticMap_click

如您所见,我不确定如何引用所点击行的数据。我尝试在UIImageView上设置标记,但这不起作用。我还试图在func staticMap_click(sender:UITapGestureRecognizer) { let rowData: NSDictionary = self.arrayPosts[sender.valueForKey("row") as Int] as NSDictionary mdblStaticLat = rowData["dblLat"] as String mdblStaticLong = rowData["dblLong"] as String self.performSegueWithIdentifier("sgShowMapFromStaticClick", sender: self) } 上设置一个标签,但我也无法让它工作。

有谁知道如何引用UIImageView被点击的所选行中的数据?

1 个答案:

答案 0 :(得分:1)

您可能对

感兴趣
func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) {
}

只要按下一个单元格,就会调用此函数 您可以使用indexPath.row

访问按下的行

此外,您可以使用

func staticMap_click(sender:UITapGestureRecognizer){
    let tappedView = sender.view as? UIImageView
    let indexPath = (tappedView.superview as UITableView).indexPathForCell(self)
}

如果您只想拍摄图像,可以获取被点按的单元格

此代码也将返回indexPath,您可以再次使用indexPath.row来获取行。
如果认为有必要,获取该行将使您能够从数组中获取数据