在UIScrollView中按需加载UITableView中的单元格

时间:2012-02-23 08:11:05

标签: iphone objective-c performance uitableview uiscrollview

我在UIScrollView中有一个UITableView。

虽然这不太理想,但它是“必要的”,因为我想在桌面上放置另一个自定义视图,使用滚动视图滚动它。表格视图用于我的应用程序的许多不同部分,并且可以很好地保持封装和可重用。

现在的问题是因为我不再使用UITableView本身的滚动(它的大小足以显示其所有单元格,然后放在滚动视图内),我失去了按需加载的单元格。当我的表格视图有多个单元格时,这会产生不可接受的性能。

在不丢失动态单元格加载的情况下,设置此类内容的最佳方法是什么?

我能想到的唯一方法就是让整个事物成为一个表格视图,并使我的顶级自定义视图成为另一个单元格。但这意味着我不能干净地重用我的UITableView。

2 个答案:

答案 0 :(得分:0)

只要你的tableView在scrollView中,你就会遇到这个问题,因为必须绘制整个tableView,因此必须分配所有的单元格。

我建议您使用– tableView:viewForHeaderInSection:中的– tableView:heightForHeaderInSection:UITableViewDelegate将视图作为标题添加到tableView。

只是将tableView放在另一个视图中,这并不是很干净,但是它不应该像将单元格作为单元格实现那样糟糕,因为你不会弄得一团糟使用cellForRowAtIndexPath:等方法。

答案 1 :(得分:-1)

OLEContainerScrollView似乎是一种解决方案。

允许您在其中添加多个UIScrollView(UITableView,UICollectionView),同时保持单元重用机制在内部UITableView,UICollectionView上可行。