【问题标题】:Getting row of UITableView cell on button press swift 3在按钮按下 swift 3 时获取 UITableView 单元格的行
【发布时间】: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!)'

有什么想法吗? 谢谢。

【问题讨论】:

    标签: ios uitableview swift2 swift3


    【解决方案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
      }
      

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 2011-11-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多