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

Posted

技术标签:

【中文标题】在按钮按下 swift 3 时获取 UITableView 单元格的行【英文标题】:Getting row of UITableView cell on button press swift 3 【发布时间】:2016-09-20 21:21:32 【问题描述】:

我有这段代码在 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 中我收到此错误

不能使用类型为 '(point: CGPoint, toView: UITableView!)'

有什么想法吗? 谢谢。

【问题讨论】:

【参考方案1】:

方法的签名在 Swift 3 下已经改变。现在是:

    func convert(CGPoint, to: UIView?)

因此你可以这样称呼它:

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

【讨论】:

【参考方案2】:

试试这个

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

你需要这样做

myButton.tag = indexPath.row

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

希望这会有所帮助。

【讨论】:

以上是关于在按钮按下 swift 3 时获取 UITableView 单元格的行的主要内容,如果未能解决你的问题,请参考以下文章

Swift 3:在 ViewDidLoad 中从服务器获取信息,当单击按钮时,等待服务器的信息响应

当我按下后退按钮 Swift 3 时,删除的数据重新出现

Swift 3 游戏按钮按下循环

如何在代码中使用 UItable 单元中的按钮插座

每次按下按钮时重置用户默认值(swift 4)

Swift uiview 在 uitable 之上