расширяемый раздел с таблицами в Swift - PullRequest
0 голосов
/ 07 марта 2019

Привет, я работаю над приложением, в котором у меня есть таблица, в которой есть разделы с пользовательскими ячейками.поэтому моя задача - показывать ячейки при нажатии на раздел и скрывать при повторном нажатии.Я не знаю, что написать в методе didselect для tableview

1 Ответ

0 голосов
/ 07 марта 2019

Вы можете скрыть ячейку , просто удалив все ячейки раздела.Например, я добавляю кнопку в моем представлении заголовка, которая запускает эту функцию, которая удалит все ячейки текущего раздела:

 func toggleView() {
    // SHOW
    if toggleStatut == false {
        toggleStatut = true
        // Get indexPath of my element in my second section
        var indexPaths = self.tableView.indexPathsForVisibleRows
        indexPaths = indexPaths?.filter({ (indexPath) -> Bool in
            return indexPath.section == 1
        })
        self.tableView.beginUpdates()
        self.tableView.deleteRows(at: indexPaths ?? [], with: .fade)
        self.tableView.endUpdates()
    } 
    // HIDE
    else {
        toggleStatut = false
        let indexPaths = (0..<elements.count).map { IndexPath(row: $0, section: 1) }
        self.tableView.beginUpdates()
        self.tableView.insertRows(at: indexPaths , with: .fade)
        self.tableView.endUpdates()

    }
}

Так что нет необходимости использовать метод didSelect.Вместо этого вы можете добавить протокол, который будет реализован в вашем заголовке для вызова вышеуказанной функции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...