如何獲得在小區的按鈕在這裏挖一個特定細胞的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