Swift - 自定义和默认 TableView 的混合 Headers

Swift - Mix of Custom and default TableView Headers

在表格视图中,我想要 1 个自定义样式 header,其余样式为默认样式,但我不确定如何指定默认样式 header。到目前为止我有:

    override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        if section == 1 {
            self.view.addSubview(viewDimensionHeader)
            return viewDimensionHeader // Works great

        } else {
            let view = UIView() // Not sure how to return default section header
            return view
        }
    }

自定义 header 工作正常。只是在寻找调用什么来使用标准 header.

谢谢

Return UITableViewHeaderFooterView 的实例以获取默认值 header/footer。然后,您可以在标准视图上设置 background/text 等。

注意:您确实应该向 tableView 注册所有 header 和页脚视图(就像您对 tableView 单元格所做的那样):

tableView.register(viewDimensionHeader.self, forHeaderFooterViewReuseIdentifier: "CustomHeaderCell")

然后您可以将它们出队(重用)以提高性能:

let headerCell = tableView.dequeueReusableHeaderFooterView(withIdentifier: "CustomHeaderCell")

另请注意,您不应将 header 视图添加为主视图的子视图 - tableView 会为您处理,将其添加为自己的子视图。只是 return 个单元格。

在您的 Tableview 中设计单元格喜欢随附的屏幕截图,然后在 header 中使用您想要的任何单元格:

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    let cell = tableView.dequeueReusableCell(withIdentifier: "headerCell") as! CartOrderHeaderTableViewCell
    cell.packageNameLabel.text = self.tableArray[section].package ?? "N/A"
    return cell.contentView
}

这是在 UITableView 中使用自定义单元格和不同单元格的最简单方法