ScrollToRowAtIndexPath花费了太多时间

时间:2017-09-20 14:18:56

标签: swift uitableview

我试图滚动表格以显示最后一个单元格。我正在使用scrollToRowAtIndexPath底部方法,但这花费了太多时间。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

要使用自定义时间设置动画,您可以使用以下代码:

tableView.layoutIfNeeded()
var offset = tableView.contentSize.height

let offsetPoint = CGPoint(x: 0, y: offset)

UIView.animate(withDuration: 0.1, animations: {
    tableView.setContentOffset(offsetPoint, animated:false)
})

然后,您可以使用要为其设置动画的秒数替换0.1。

编辑:

如果您不想要任何动画,也可以尝试:

let lastSectionIndex = tableView.numberOfSections() - 1
let lastRowIndex = tableView.numberOfRows(inSection: lastSectionIndex) - 1

tableView.scrollToRow(at: IndexPath(row: lastRowIndex, section: lastSectionIndex), at: .top, animated: false)