作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含许多单元格的 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/
我是一名优秀的程序员,十分优秀!