DiffableDataSource 表视图中的问题 header

Issue in DiffableDataSource tableview header

我正在使用 tableView 和 DiffableDataSource,我在 header.I 中遇到的唯一问题是使用 viewForheaderSections 方法调用 header header视图出现但在底部位置而不是列表顶部请查看代码谢谢。

extension SinlgeTableViewcontroller:UITableViewDelegate {
    func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
        guard let cell = tableView.dequeueReusableCell(withIdentifier: String(describing: Header.self)) as? Header else {return UIView()}
        cell.lblHeader.text = "Top Mens"
        return cell
    }

    func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
        return 40
    }
    
    func createDataSource(){
        dataSource = UITableViewDiffableDataSource<ProductsSections,AnyHashable>(tableView: tableView, cellProvider: { tableView, indexPath, itemIdentifier in
            switch self.sectionsData[indexPath.section]{
                case .first:
                    guard let cell = tableView.dequeueReusableCell(withIdentifier: String(describing: ProductCell.self)) as? ProductCell else {return UITableViewCell()}
                    cell.products = self.products[indexPath.row]
                    return cell
                case .second:
                    guard let cell = tableView.dequeueReusableCell(withIdentifier: String(describing: MensCell.self)) as? MensCell else {return UITableViewCell()}
                    cell.mens = self.mens[indexPath.row]
                    return cell
            }
        })
        
    }
    
    func createSnapshot(){
        var snapshot = NSDiffableDataSourceSnapshot<ProductsSections,AnyHashable>()
        sectionsData.forEach{ [=11=]
            snapshot.appendSections([[=11=]])
        }
      //  snapshot.appendSections([.first,.second])
        snapshot.appendItems(products, toSection: .first)
        snapshot.appendItems(mens, toSection: .second)
        dataSource?.apply(snapshot, animatingDifferences: true, completion: nil)
    }

根据您的代码,您没有使用 viewForHeaderInSection。而不是你使用 viewForFooterInSection。因此,底部将出现 footer,而不是 header

如果你只需要一个header,将所有与footer相关的方法更改为header