在UITapGestureRecognizer中传递参数

时间:2017-05-19 09:32:22

标签: ios swift

所以,我有一个有几行的表。

每一行都有自己的gestureRecognizer,在这个手势识别器中我想作为参数传递相应行的Int,这样我就可以通过数据数据数据[rownum]访问数据了。

如何在手势识别器GoToSendEmail上访问Integer?

这是我现在的代码

var x = indexPath.row
        let gestureEdit = UITapGestureRecognizer(target: self,
                                                 action: #selector(self.GoToSendEmail(_:rowNum:))
                                                )
 cell.btnEdit.addGestureRecognizer(gestureEdit)

-

@objc func GoToSendEmail(_ sender:UITapGestureRecognizer, rowNum:Int)
{
    print("rownum:" + String(rowNum)) // rownum is always 0
    // data[rowNum] // this is the information i want
}

1 个答案:

答案 0 :(得分:0)

如果您的btnEdit是UIButton,您可以直接使用目标。

cell.btnEdit.tag = indexPath.row
cell.btnEdit.addTarget(self, action: #selector(self.editButtonClicked(_:)), for: .touchUpInside)

和功能

func editButtonClicked(_ sender: UIButton) {

   print(sender.tag) // your cell indexPath.row
   // or
   print(data[sender.tag])
}