scrollView轻弹时结束目标IndexPath(结束拖动)

时间:2018-04-05 10:55:56

标签: ios swift xcode uitableview uiscrollview

所以,我有一个相同大小的单元格的无限滚动表视图。每个单元格只有一个图像,而我想要实现的是,只要发生滚动轻弹,我就会尝试确定它将到达哪个indexPath并仅为该索引预加载图像。

func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
    let contentOffset = CGPoint(x: targetContentOffset.pointee.x, y: targetContentOffset.pointee.y)
    let totalRowsVisible = Int(tableView.bounds.height / rowHeight) + 1

    let rowNumber = tableView.indexPathForRow(at: contentOffset)?.row ?? Int((contentOffset.y + offSetParameter) / rowHeight)
}

现在这是我用来确定tableview的indexPath,一旦拖动结束,但这会多次给我不正确的结果(特别是当我滚动得非常快)时。

此外,当我向tableView(底部)添加更多行时,contentOffset会发生奇怪的变化,而targetContentOffset参数会在其他地方加载。

我在任何地方都找不到任何解决方案。

编辑:所以,在评论中,人们已经问过我的具体要求。该要求完全符合规定,每当滚动开始并拖动结束时,我必须确定滚动结束的目的地,并在到达目的地之前开始获取该行的内容。所以无论滚动有多快或多慢,我都只需下载indexPath的图像

0 个答案:

没有答案