Чтобы добавить новый раздел в UITableView
, вам нужно
1 - обновить данные.Например, вставьте свои секции в массив данных или измените их флаги видимости.
2 - вызовите следующий метод.
tableView.insertSections([1, 2], with: .automatic)
или
tableView.reloadData()
Первый метод обновит ваш UITableView
с анимацией.Второй обновит его мгновенно.Для лучшего UX я бы порекомендовал вам использовать первый.
Обновление вашего кода
Сначала вы можете передать все индексы разделов одновременно, используя простуюмассив.Вот так
if expandCol {
self.tableView.deleteSections([1, 2], with: .automatic)
} else {
self.tableView.insertSections([1, 2], with: .automatic)
}
expandCol = !expandCol
Вторая проблема заключается в том, что вы звоните reloadData
после вызова анимированного обновления таблицы.
И самое главное, вам нужноизменить данные .У вас UITableView
есть dataSource
, и он возвращает количество разделов и ячеек.После взаимодействия пользователя с вашей триггерной ячейкой необходимо внести изменения в эти данные перед вызовом обновления.