UITableView:如何知道 TableView 的所有具有动态单元格高度的单元格何时被调整大小?
Posted
技术标签:
【中文标题】UITableView:如何知道 TableView 的所有具有动态单元格高度的单元格何时被调整大小?【英文标题】:UITableView: How to know when all the cells of TableView with dynamic cell heights are resized? 【发布时间】:2020-04-16 06:44:31 【问题描述】:我面临的问题是,当我向 UITableView 发送数据时,我会发送一个命令将表格滚动到底部。如果单元格高度是恒定的,那么我的 scrollToLastCell 会到达最后一个单元格,但是对于动态单元格高度,它并不总是需要最后一个单元格。
我想知道有什么方法可以确定我的 tableView 的所有单元格都已完成调整大小然后触发滚动到底部?
【问题讨论】:
据我所知,单元格高度是在重用时动态计算的。所以我怀疑tableView是滚动tableView的估计高度。我希望有更多知识的人澄清一下。 据我所知,单元格高度是在重用时动态计算的。所以我怀疑tableView是滚动tableView的估计高度。我希望有更多知识的人澄清一下。 【参考方案1】:在苹果公司的文档中
重要
如果您的表格视图包含可自行调整大小的单元格、页眉或页脚, 您必须提供这些物品的估计高度。
https://developer.apple.com/documentation/uikit/views_and_controls/table_views/estimating_the_height_of_a_table_s_scrolling_area
鉴于此,我建议您继续使用 tableView(_:estimatedHeightForRowAt:) 方法
【讨论】:
我已经在估算行高了。问题是如何知道 tableView 已经计算了所有单元格的高度,然后我可以命令滚动到底部 抱歉不明白这是关于时间的。您可以将观察者添加到 contentSize 道具。的 tableView 并在达到您估计的 tableview 高度后发送滚动命令。但这不是我尝试过的事情(在 contentSize 上放置一个观察者),看起来并不那么优雅,它可能会导致性能问题。希望有人告知。祝你好运。以上是关于UITableView:如何知道 TableView 的所有具有动态单元格高度的单元格何时被调整大小?的主要内容,如果未能解决你的问题,请参考以下文章
如何让 UITableView 在动态高度单元格中滚动到底部?
如果 UITableView 没有数据如何添加 UIImage 和 UILabel