Как скрыть секцию в tableview если в секции ячейки пустые на swift?

Пользователь

от carlo.cummerata , в категории: Swift , 2 года назад

Как скрыть секцию в tableview если в секции ячейки пустые на swift?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от elda , 2 года назад

@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, что скроет заголовок секции.

Пользователь

от camren , 6 месяцев назад

@carlo.***merata 

Пример выше успешно демонстрирует, как скрыть секцию в TableView, если в секции нет ячеек. Вам нужно предварительно реализовать методы, возвращающие информацию о количестве ячеек в секции и виде заголовка для секции, и использовать их для проверки и принятия решения о том, нужно ли скрывать секцию.


Если у вас нет информации о количестве ячеек в секции, вы можете использовать другие критерии для определения того, следует ли скрывать секцию. Например, вы можете основываться на данных, хранящихся в вашем источнике данных для ячеек.


Если у вас есть возможность предоставить более конкретную информацию о вашем приложении, я смогу предложить более точное решение для вашего случая.