gpt4 book ai didi

ios - 如何让 UITableView 在动态高度单元格中滚动到底部?

转载 作者:行者123 更新时间:2023-11-28 07:55:49 25 4
gpt4 key购买 nike

我有一个包含许多单元格的 UITableView。
其内容后面的每个单元格都具有动态高度。
但是我注意到,当我进入这个 viewController 时,UITableView 有时不会滚动最后一个 indexPath。
有任何修复它的想法。

tableView.estimatedRowHeight = 200.0
tableView.rowHeight = UITableViewAutomaticDimension

let bottomOffSet = CGPoint(x: 0, y: self.tableView.contentSize.height - self.tableView.bounds.size.height)
self.tableView.setContentOffset(bottomOffSet, animated: false)

PS:我不想使用“scrollToRow”,因为它会比“setContentOffset”多次触发 TableView 的函数“cellForRowAtIndexPath”。

tableView.scrollToRow(at: IndexPath(row: contents.count - 1, section: 0), at: .top, animated: animated)

最佳答案

尝试将tableView 的 contentOffset 设置为tableView 的 contentSize,即

override func viewDidAppear(_ animated: Bool)
{
super.viewDidAppear(animated)
let bottomOffSet = CGPoint(x: 0, y: self.tableView.contentSize.height - self.tableView.bounds.size.height)
self.tableView.setContentOffset(bottomOffSet, animated: false)
}

viewDidAppear中设置contentOffset

同时实现以下 UITableViewDelegate 方法:

override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
{
return UITableViewAutomaticDimension
}

override func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat
{
return 126.0 //Maximum possible cell height
}

关于ios - 如何让 UITableView 在动态高度单元格中滚动到底部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48089845/

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