我的tableView中的Hello我向自定义tableViewCell添加了一个刷新按钮
因为我想在按钮点击后重新加载单个单元格,为了做到这一点(环顾网络)我创建了这个功能
@IBAction func rowReload(_ sender: Any) {
let index = IndexPath(row: , section: )
self.tableView.reloadRows(at: [index], with: .none)
}
但我的问题是这一行let index = IndexPath(row: , section: )
,我怎么能告诉我的函数重新加载动作必须发生在按下按钮的行上? (简单来说,我必须写下一个row:
和section:
?)
答案 0 :(得分:0)
在cellForRow
方法中为一个按钮指定标签,如下所示:
yourCell.yourButton.tag = indexPath.row
然后在cellForRow
方法中为其指定选择器。
yourCell.yourButton.addTarget(self, action: #selector(myClass.rowReload(_:)), forControlEvents: .TouchUpInside)
在您的rowReload
方法参数中,sender
应该有UIButton
类型,您的方法将是:
func rowReload(_ sender: UIButton) {
然后您可以访问其标记,IndexPath
将是:
let index = IndexPath(row: sender.tag, section: 0)
答案 1 :(得分:0)
在您的方法中,
> "func tableView(_ tableView: UITableView, cellForRowAt indexPath:
> IndexPath) -> UITableViewCell"
你可以给元素标记号(按钮) 例如
cell.button.tag = indexPath
因此,当您点击按钮时,您可以将标记作为其indexPath。
@IBAction func rowReload(_ sender:Any){
let index = sender.tag self.tableView.reloadRows(at: [index], with: .none)
}
答案 2 :(得分:0)
如果UITableview中有多个部分,那么我们就不能使用标签来确定索引路径。
g.length