我正在实现一个 UIScrollView,它的行为主要类似于 UITableView,它更高级一些.. 但使用的大多数 API 都是相同的签名.. cellForRowAtIndexPath.. 等等。首先在人们开始讨论为什么不使用 UITableView 之前,让我只是说我不能。原因相当复杂,但这是一个决定。
现在的问题是我正在实现无限滚动,基本上当我向下滚动并且我处于完整 contentHeight 的 65% 时,我正在向后端发出异步请求以获取更多数据并将其添加到数据源,然后调用 reloadData。问题是,如果我在用户滚动时调用 reloadData,它不会提供非常流畅的滚动体验。那么解决这个问题的最佳方法是什么?我还注意到 reloadData 基本上刷新了整个表格视图(在本例中是我的滚动视图)。在我的表格视图单元格中,我正在为 UIImage 设置动画以淡入。因此,当调用 reloadData 时,已经呈现的图像再次淡入,这有点烦人。我该如何避免这样的事情?
有什么提示和技巧吗?