首页 > 解决方案 > swift中的可扩展表格视图部分

问题描述

嘿,我正在开发一个应用程序,其中有一个表格视图,其中包含带有自定义单元格的部分。所以我的任务是在单击部分时显示单元格并在再次单击时隐藏。tableview的didselect方法不知道写什么

标签: swift

解决方案


您可以通过删除该部分的所有单元格来隐藏单元格。例如,我在标题视图中添加了一个按钮来触发此功能,该功能将删除当前部分的所有单元格:

 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方法。相反,您可以添加一个协议,您的标头将实现以调用上述函数


推荐阅读