按下按钮swift 3获取UITableView单元格行

时间:2016-09-20 21:21:32

标签: ios uitableview swift2 swift3

我将此代码用于swift 2,它可用于按下按钮获取UITableView单元行:

@IBAction func commentsButtonAction(sender: AnyObject) {
    let btnPos: CGPoint = sender.convert(point:CGPoint.zero, toView: self.tableView)
    let indexPath: NSIndexPath = self.tableView.indexPathForRow(at: btnPos)! as NSIndexPath
    passaValor = indexPath.row
    performSegue(withIdentifier: "searchToComments", sender: self)
}

在swift 3中,我收到此错误

  

无法调用'转换'使用类型'的参数列表(点:   CGPoint,toView:UITableView!)'

有什么想法吗? 感谢。

2 个答案:

答案 0 :(得分:1)

该方法的签名已在Swift 3下更改。现在是:

    func convert(CGPoint, to: UIView?)

因此你可以称之为:

    sender.convert(CGPoint.zero, to: self.tableView)

答案 1 :(得分:0)

试试这个

myButton.addTarget(self, action: "connected:", forControlEvents: .TouchUpInside))

你需要这个

myButton.tag = indexPath.row

func connected(sender: UIButton){
    let buttonTag = sender.tag
}

希望这有帮助。