当点击单元格中的按钮时,如何获得indexPath.section和indexPath.row?

时间:2017-09-28 16:25:00

标签: uitableview swift3

我有一个tableview划分部分,当我点击一个单元格中的按钮时,我必须打印行和部分的数量。我怎么能得到这个?

2 个答案:

答案 0 :(得分:0)

实现tableView:didSelectRowAtIndexPath:方法。当它被调用时,将传入一个NSIndexPath,其中包含section和row属性。

每次按下tableview单元格时都会调用此方法。索引路径将是已按下的单元格的索引路径。

https://developer.apple.com/documentation/uikit/uitableviewdelegate/1614877-tableview

编辑:

我误解了这个问题。按下按钮后,通过访问按钮的超级视图从按钮获取TableViewCell。然后使用TableView的indexPathForCell方法获取按钮的indexPath。

答案 1 :(得分:0)

indexPath存储在单元格内,并在按下按钮时进行检索。

表视图控制器

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "custom") as! CustomTableCell
    cell.indexPath = indexPath

    return cell
}

自定义表格单元格

class CustomTableCell: UITableViewCell {
    var indexPath: IndexPath!

    @IBAction func buttonPressed() {
        print(indexPath)
    }
}