如何在滚动时加载更多数据,滚动时反弹?

时间:2018-05-16 10:20:03

标签: ios swift uitableview scroll

我有一个表视图,我从服务器获取数据。使用下面的代码,我检测到scrollview的底部,并使用loadMore()我再次从服务器获取数据!

func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {

    // UITableView only moves in one direction, y axis
    let currentOffset = scrollView.contentOffset.y
    let maximumOffset = scrollView.contentSize.height - scrollView.frame.size.height

    // Change 10.0 to adjust the distance from bottom
    if maximumOffset - currentOffset <= 200.0 {
        self.loadMore()
    }
}

我的问题是,当我取消选中Scroll上的反弹并且我的数据高度低于视图时,我无法再加载更多数据!但是当弹跳开启时,它的工作完美!

我该如何解决这个问题?!

我可以只为视图的顶部设置反弹吗?!

还是有其他方法加载数据,退回取消选中?

1 个答案:

答案 0 :(得分:1)

我猜因为你的数据少于视图的实际高度,所以它也不应该加载数据。

如果数据是动态更新的,并且有可能填充更多数据,则必须通过pull to refresh完成。