我有一个自定义标头类来自定义我的tableview节标题。在部分标题的左侧是静态UILabel
,而在右侧是计数UILabel
,以计算该特定部分中的行数:
override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?
{
let headerCell = tableView.dequeueReusableCell(withIdentifier: "HeaderCell") as! CustomCell
if section == 0
{
headerCell.reminder.text = "It Is Time"
headerCell.count.text = String(arrayOne.count)
headerCell.contentView.backgroundColor = UIColor(red: 230.0/255.0, green: 110.0/255.0, blue: 102.0/255.0, alpha: 1.0)
}
else if section == 1
{
headerCell.reminder.text = "It is not Time"
headerCell.count.text = String(arrayTwo.count)
headerCell.contentView.backgroundColor = UIColor(red: 113.0/255.0, green: 220.0/255.0, blue: 110.0/255.0, alpha: 1.0)
}
return headerCell.contentView
}
在editActionsForRowAt
中,我已实现了允许用户向左滑动以删除特定行的功能。但是,我希望获得对headerCell.count.text
的访问权限并更新该部分标题中的行数,而无需调用tableView.reloadData
来重新加载整个表格视图。
我在这里找到了类似的问题和答案:
然而,建议/解决方案并没有帮助我解决我的问题。
如何在editActionsForRowAt
中访问我的自定义标题标题单元格标签以更新计数?
感谢。
答案 0 :(得分:3)
尝试reloadSections
方法:
在Swift中
let sectionToReload = 1
let indexSet: IndexSet = [sectionToReload]
self.tableView.reloadSections(indexSet, with: .automatic)
在目标c
- (void)reloadSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation
答案 1 :(得分:0)
有一种hackish方式。不确定它是否会起作用,但值得尝试一下。 只需使用
tableView.beginUpdates()
tableView.endUpdates()
您不需要执行任何实际更新。我们的想法是,当tableView获得开始和结束更新的调用时,从理论上讲,它应该刷新对表的任何更改。我希望它会更新您案例中的节标题。如果有效,请告诉我。