如何获得在小区的按钮在这里挖一个特定细胞的indexPath.row是我的代码获取细胞的indexPath.row
if let indexPath = self.tableView?.indexPathForSelectedRow {
print("\(indexPath.row)")
}
如何获得在小区的按钮在这里挖一个特定细胞的indexPath.row是我的代码获取细胞的indexPath.row
if let indexPath = self.tableView?.indexPathForSelectedRow {
print("\(indexPath.row)")
}
当一个按钮在你的细胞被窃听,你需要遍历该按钮的superviews链,以获取对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)与你的按钮进行比较的次数,但无论单元格视图层次结构中按钮的深度如何,这都可以工作。
最好在单元格和表格ViewController之间建立一个委托协议,并让单元格在按钮被点击时将自己的引用传递给委托。 – Paulw11
如果他们已经利用该按钮,它可能不会是seleced行,因为按钮是挖掘,而不是行。您需要获取对单元格的引用并使用'indexPathForCell' – Paulw11