Любой, кто может пройти через эту проблему
Итак, я нашел решение, и в соответствии с этим я обнаружил, что одна вещь - не использовать многоразовое представление, как ячейка в представлении заголовка, если выпри необходимости перезагрузить разделы по любому действию.если вы используете ячейку, не возвращайте полную ячейку, просто верните ее contentView.
До
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?{
let headerView = tableView.dequeueReusableCell(withIdentifier: "headerCell") as! headerCell
headerView.lblHeaderName.text = ObjectDetails?.arrData[section].data[0].key.Translate()
headerView.btnCollapse.tag = section
headerView.btnCollapse.addTarget(self, action: #selector(collapseSection(sender:)), for: .touchUpInside)
if (ObjectDetails?.arrData[section].collapsed)!
{
headerView.btnCollapse.setTitle("+", for: .normal)
}
else{
headerView.btnCollapse.setTitle("-", for: .normal)
}
return headerView
}
После
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView?{
let headerView = tableView.dequeueReusableCell(withIdentifier: "headerCell") as! headerCell
headerView.lblHeaderName.text = ObjectDetails?.arrData[section].data[0].key.Translate()
headerView.btnCollapse.tag = section
headerView.btnCollapse.addTarget(self, action: #selector(collapseSection(sender:)), for: .touchUpInside)
if (ObjectDetails?.arrData[section].collapsed)!
{
headerView.btnCollapse.setTitle("+", for: .normal)
}
else{
headerView.btnCollapse.setTitle("-", for: .normal)
}
return headerView.contentView
}