2010-07-16 42 views
1

我有一些自定义表格视图单元格需要一段时间来绘制,所以第一次滚动它不是很平滑。第一次滚动后,所有视图都被缓存,并且滚动非常平滑。手动排队可重复使用的UITableViewCells?

那么是什么我不知道是我是否可以得出所有的细胞和缓存它们显示在表视图之前,我会怎么做。如果我产生了一个线程来绘制背景中的单元格,那么当表格视图需要它们时它们可能会被绘制出来会有问题吗?

我将不得不建立自己的字典或我可以使用表格视图的dequeueReusableCellWithIdentifier:?

回答

0

我不知道的方式来提前绘制一个UIView。只有在屏幕上显示视图才会绘制。你可以做的是尝试将单元格的内容绘制到CGBitmapContext中,创建该上下文的UIImage,并且在实际单元格中只使用显示图像的图像视图。

在这种情况下,您的事业需要对图像的外部存储。可能是数组或字典。

+0

一个UIView有一个称为的drawRect方法:.我不确定如果你手动调用它,它将使用什么上下文,但我不明白为什么不能预先绘制UIView。我的UITableViewCells只绘制一次,显然这是可能的。唯一的问题是如果SDK允许的话。 – 2010-07-19 09:40:32

+0

我不再在这个项目上工作,所以我想我不妨接受这个答案。 – 2011-02-11 20:00:37