gpt4 book ai didi

ios - 检测 UITableView 部分标题何时捕捉到屏幕顶部

转载 作者:行者123 更新时间:2023-12-01 19:17:35 25 4
gpt4 key购买 nike

我想检测 UITableView 部分标题何时捕捉到屏幕顶部,然后修改标题的高度,但我不知道该怎么做。有人可以帮忙吗?

最佳答案

通过使用 didEndDisplayingHeaderViewwillDisplayHeaderView 委托(delegate)方法,我能够完成检测哪个 header 粘在表格 View 的顶部。这里的想法是,当我们滚动 TableView 的各个部分时,标题周围的行变得可见,我们可以使用 tableView.indexPathsForVisibleRows 获取所有可见行的索引路径。根据我们是向上还是向下滚动,我们将屏幕上的第一个或最后一个索引路径与刚刚出现/消失的 View 的索引路径进行比较。

//pushing up
func tableView(_ tableView: UITableView,
didEndDisplayingHeaderView view: UIView,
forSection section: Int) {

//lets ensure there are visible rows. Safety first!
guard let pathsForVisibleRows = tableView.indexPathsForVisibleRows,
let lastPath = pathsForVisibleRows.last else { return }

//compare the section for the header that just disappeared to the section
//for the bottom-most cell in the table view
if lastPath.section >= section {
print("the next header is stuck to the top")
}

}

//pulling down
func tableView(_ tableView: UITableView,
willDisplayHeaderView view: UIView,
forSection section: Int) {

//lets ensure there are visible rows. Safety first!
guard let pathsForVisibleRows = tableView.indexPathsForVisibleRows,
let firstPath = pathsForVisibleRows.first else { return }

//compare the section for the header that just appeared to the section
//for the top-most cell in the table view
if firstPath.section == section {
print("the previous header is stuck to the top")
}
}

关于ios - 检测 UITableView 部分标题何时捕捉到屏幕顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41670152/

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