【发布时间】:2012-07-09 00:50:29
【问题描述】:
我正在实现一个 UIScrollView,它的行为主要类似于 UITableView,它更高级一些.. 但使用的大多数 API 都是相同的签名.. cellForRowAtIndexPath.. 等等。首先在人们开始讨论为什么不直接使用UITableView,我只能说我不能。原因相当复杂,但这是已经做出的决定。
现在的问题是我正在实现无限滚动,基本上当我向下滚动并且我处于完整 contentHeight 的 65% 时,我正在向后端发出异步请求以获取更多数据并将其添加到数据源,然后调用重载数据。问题是如果我在用户滚动时调用 reloadData,它不会提供非常流畅的滚动体验。那么解决这个问题的最佳方法是什么?我还注意到 reloadData 基本上刷新了整个表格视图(在本例中是我的滚动视图)。在我的表格视图单元格中,我正在为 UIImage 设置动画以淡入。因此,当调用 reloadData 时,已经呈现的图像再次淡入,这有点烦人。 我该如何避免这样的事情?
有什么提示和技巧吗?
【问题讨论】:
-
您为什么要复制 Apple 的努力来设计您自己的
UITableView?UITableView类继承自UIScrollView,因此无论您可以使用滚动视图做什么,都可以使用UITableView。 -
我正在做类似于 iOS 6 中的 UICollectionView 的 smtg,并且我支持 iOS 5,所以我不能使用 UITableView。这是我现在能想到的最短答案,为什么我不使用 UITableView
标签: iphone objective-c ios ipad