gpt4 book ai didi

swift - 如何在 UITableViewDiffableDataSource 中添加标题名称

转载 作者:行者123 更新时间:2023-12-01 19:44:34 24 4
gpt4 key购买 nike

我尝试为 UITableView 中的每个部分添加标题标题,但在本例中是 UITableViewDiffableDataSource我不知道我应该在哪里做。我的代码的一部分:

private func prepareTableView() {
tableView.delegate = self
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
dataSource = UITableViewDiffableDataSource<Sections, User>(tableView: tableView, cellProvider: { (tableView, indexPath, user) -> UITableViewCell? in
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
cell.textLabel?.text = user.name
return cell
})
}

private func addElement(_ user: User) {
var snap = NSDiffableDataSourceSnapshot<Sections, User>()
snap.appendSections([.main, .second])
if isFirst {
users.append(user)
} else {
secondUsers.append(user)
}
snap.appendItems(users, toSection: .main)
snap.appendItems(secondUsers, toSection: .second)
isFirst.toggle()
dataSource.apply(snap, animatingDifferences: true, completion: nil)
dataSource.defaultRowAnimation = .fade
}
UICollectionViewDiffableDataSource有一个参数 supplementaryViewProvider用户可以在其中配置标题。 UITableViewDiffableDataSource中确实存在这样的东西吗?

最佳答案

我能够通过子类化 UITableViewDiffableDataSource 来做到这一点。像这样的类:

class MyDataSource: UITableViewDiffableDataSource<Sections, User> {

override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return "Hello, World!"
}
}


然后在你的代码中而不是这样:

dataSource = UITableViewDiffableDataSource<Sections, User>

使用您自己的数据源类:

dataSource = MyDataSource<Sections, User>

关于swift - 如何在 UITableViewDiffableDataSource 中添加标题名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58183637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com