我有一个带有一些大图像的分组UITableView。但是,滚动性能相当差(注意:在iOS 4升级之前它非常出色,现在它非常紧张)。我已经读过使用drawRect而不是向单元格添加子视图可以提高性能。
第一个问题:这是真的吗?
第二个问题:如果它会提高性能,我该如何实现它?我一直在看UITableViewSuite示例代码示例#5,但是我在修改代码以使用我的项目时遇到了很多麻烦。还有其他一些很好的例子说明如何做到这一点吗?
感谢您的帮助!
答案 0 :(得分:1)
是的,这是真的。
基本上您要做的是为UIImageViewCells的内容视图实现自定义UIView。在该自定义视图中,您可以实现drawrect来绘制单元格。
来自WWDC 2009的精彩会话视频展示了这一点。我相信iPhone开发者计划中的任何人都可以使用该视频。如果IO可以找到链接,我会编辑这个答案。最大的性能提升是因为通过自定义绘图,Tabel View不必将多个层组合在一起。
如果您进行慢速滚动的唯一原因是由于您使用了大图像,这可能对您没什么帮助。我会确保你的图像没有放大或缩小,并且你懒得加载它们。在快速滚动表格视图时不要加载图像 - 这会破坏性能。