Swift - 如何从单元格内单击 UIImageView 上的自定义 UITableViewCell 获取行数据
Swift - How to get row data from custom UITableViewCell on UIImageView click from within the cell
我正在尝试获取与 UITableViewCell
相关联的数据,其中 UIImageView
在单元格中被单击。我目前必须捕获点击事件的代码工作正常。但是,一旦进入调用的点击功能,我就无法从点击 UIImageView
的同一 UITableViewCell
检索相关数据。这是我用来设置点击事件的代码。此代码包含在 cellForRowAtIndexPath:
var tap = UITapGestureRecognizer(target: self, action: Selector("staticMap_click:"))
cell.imgStaticMap.addGestureRecognizer(tap)
cell.imgStaticMap.userInteractionEnabled = true
这是单击 UIImageView
时调用的函数 staticMap_click
:
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
上设置标签,但没有成功。我还尝试在 UITapGestureRecognizer
上设置一个标签,但我也没能让它起作用。
有谁知道如何从点击 UIImageView
的选定行中引用数据?
您可能对
感兴趣
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)
}
如果您只希望图像可点击,则获取被点击的单元格
此代码还将 return 一个 indexPath,您将能够再次使用 indexPath.row
来获取行。
如果认为有必要,获取该行将使您能够从数组中获取数据
我正在尝试获取与 UITableViewCell
相关联的数据,其中 UIImageView
在单元格中被单击。我目前必须捕获点击事件的代码工作正常。但是,一旦进入调用的点击功能,我就无法从点击 UIImageView
的同一 UITableViewCell
检索相关数据。这是我用来设置点击事件的代码。此代码包含在 cellForRowAtIndexPath:
var tap = UITapGestureRecognizer(target: self, action: Selector("staticMap_click:"))
cell.imgStaticMap.addGestureRecognizer(tap)
cell.imgStaticMap.userInteractionEnabled = true
这是单击 UIImageView
时调用的函数 staticMap_click
:
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
上设置标签,但没有成功。我还尝试在 UITapGestureRecognizer
上设置一个标签,但我也没能让它起作用。
有谁知道如何从点击 UIImageView
的选定行中引用数据?
您可能对
感兴趣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)
}
如果您只希望图像可点击,则获取被点击的单元格
此代码还将 return 一个 indexPath,您将能够再次使用 indexPath.row
来获取行。
如果认为有必要,获取该行将使您能够从数组中获取数据