当点击单元格中的按钮时,如何获取特定单元格的indexPath.row是我的代码
if let indexPath = self.tableView?.indexPathForSelectedRow {
print("\(indexPath.row)")
}
答案 0 :(得分:3)
从按钮(发件人)操作中获取单元格
var cell: UITableViewCell = sender.superview.superview as UITableViewCell
获取索引路径
tableView.indexPathForCell(cell)
答案 1 :(得分:1)
当您在单元格中点击一个按钮时,您需要遍历该按钮的超级视图链以获取对UITableViewCell的引用。在那里,您可以使用tableView.indexPathForCell(cell: UITableViewCell)
函数向tableView请求indexPath。
这样的事情:
var optionalCell: UITableViewCell? = nil
var view: UIView = yourButton
while view.superView != nil {
view = view.superView
if view is UITableViewCell {
optionalCell = view
break
}
}
if let cell = optionalCell {
var indexPath = tableView.indexPathOfCell(cell)
} else {
return
}
我不知道你的代码看起来如何,但它应该是这样的。当然,你可以随时破解它,并且确切地知道单元格中有多少超级视图(UITableViewCell)与你的按钮进行比较,但无论按钮在单元格视图层次结构中有多深,这都可以正常工作。