我从服务器接收数据,当它们到我这里时,表被更新了,如何确保当数据到来时,表会爬到底部?
tableView.scrollToBottom(animated: true)
不工作
答案 0 :(得分:0)
tableView没有方法scrollToBottom,我认为您应该在UITableView的扩展名中添加此方法
示例:
import UIKit
extension UITableView {
func scrollToBottom(animated: Bool) {
let y = contentSize.height - frame.size.height
setContentOffset(CGPoint(x: 0, y: (y<0) ? 0 : y), animated: animated)
}
}
答案 1 :(得分:0)
您可以使用tableView.scrollToRow(at:at:animated:)
。例如,假设您有一个在表视图中显示的字符串数组:
var items = ["1", "2", "3"]
func scrollToBottom() {
let indexPathToReach = IndexPath(row: items.count - 1, section: 0)
tableView.scrollToRow(at: indexPathToReach, at: .bottom, animated: true)
}
答案 2 :(得分:0)
reloadData()
方法)或插入单元格(调用insertRows(at:with:)
方法)。scrollToRow(at:at:animated:)
方法)。