2

我正在实现一个 UIScrollView,它的行为主要类似于 UITableView,它更高级一些.. 但使用的大多数 API 都是相同的签名.. cellForRowAtIndexPath.. 等等。首先在人们开始讨论为什么不使用 UITableView 之前,让我只是说我不能。原因相当复杂,但这是一个决定。

现在的问题是我正在实现无限滚动,基本上当我向下滚动并且我处于完整 contentHeight 的 65% 时,我正在向后端发出异步请求以获取更多数据并将其添加到数据源,然后调用 reloadData。问题是,如果我在用户滚动时调用 reloadData,它不会提供非常流畅的滚动体验。那么解决这个问题的最佳方法是什么?我还注意到 reloadData 基本上刷新了整个表格视图(在本例中是我的滚动视图)。在我的表格视图单元格中,我正在为 UIImage 设置动画以淡入。因此,当调用 reloadData 时,已经呈现的图像再次淡入,这有点烦人。我该如何避免这样的事情?

有什么提示和技巧吗?

4

3 回答 3

3

如果您仍在处理此问题,请查看PSTCollectionView。它的工作方式与 UICollection 视图完全相同,但支持 iOS 4.3 的向后版本。

于 2012-11-19T15:15:38.913 回答
0

如果不知道为什么需要创建类似于 tableview 的自定义视图,很难回答。如果您有一个开发者帐户,您可能想要检查基于 tableview 的新 iOS 6 视图。不确定我是否可以更多地谈论它,因为它在 NDA 下。

对于 UIImage 淡入淡出,如何将每个 UIImage 标记为显示,然后在重新加载数据或调用淡入淡出语句时进行检查。只淡化未标记为已呈现的图像?

于 2012-07-09T16:51:37.437 回答
0

在新的 iOS 6.0 中,有一个新的控制器叫做 UIContainer 视图,它类似于 UITableview 但我们也可以设置多于一列。

该控制器的委托方法与 UITableview 中的几乎相同。如果您有类似的要求,您可以使用该控制器。

于 2012-07-09T17:59:22.153 回答