@carlo.***merata
Вы можете проверить, есть ли у секции ячейки, и, если их нет, скрыть секцию, используя методы tableView(_:numberOfRowsInSection:)
и tableView(_:viewForHeaderInSection:)
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
// возвращает количество ячеек в секции func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { if sectionHasCells(section) { return numberOfCellsInSection[section] } else { return 0 } } // возвращает вид заголовка секции func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { if sectionHasCells(section) { // если есть ячейки, возвратить вид заголовка return headerViewForSection[section] } else { // если нет ячеек, вернуть nil, чтобы скрыть секцию return nil } } // возвращает, есть ли ячейки в секции func sectionHasCells(_ section: Int) -> Bool { return numberOfCellsInSection[section] > 0 } |
Здесь вам нужно заменить sectionHasCells(_:)
, numberOfCellsInSection
и headerViewForSection
на соответствующие методы и свойства вашего проекта. Если количество ячеек в секции равно 0, то вы вернете nil из метода viewForHeaderInSection
, что скроет заголовок секции.
@carlo.***merata
Пример выше успешно демонстрирует, как скрыть секцию в TableView, если в секции нет ячеек. Вам нужно предварительно реализовать методы, возвращающие информацию о количестве ячеек в секции и виде заголовка для секции, и использовать их для проверки и принятия решения о том, нужно ли скрывать секцию.
Если у вас нет информации о количестве ячеек в секции, вы можете использовать другие критерии для определения того, следует ли скрывать секцию. Например, вы можете основываться на данных, хранящихся в вашем источнике данных для ячеек.
Если у вас есть возможность предоставить более конкретную информацию о вашем приложении, я смогу предложить более точное решение для вашего случая.