在我的表格视图中,我使用了自定义单元格,其中有许多子视图,两个 egoimageviews(imageview 的子类,它接受一个 URL 并从 web 获取图像然后缓存它们以供以后使用),一个打开链接检测的 textview, 4 个标签和一个按钮。我在 egoimageview 和 textview 中添加了点击手势。textview 的高度是根据它所包含的文本的大小计算的。高度计算是提前完成的,因此滚动性能不会因用户滚动时即时计算高度而受到影响。所有这些数据都是从网络上获取的,然后计算文本高度和单元格高度并将其存储在一个数组中,然后将 tableview 作为子视图添加。对于某些单元格,没有要显示的图像,所以在这些情况下,我只是在将其框架设置为 cgrectzero 后隐藏我的 egoimageview。这些图像在 iphone 屏幕上占据大约 170 px X 100 px,每个大约 250 KB。当我滚动时,滚动非常生涩。我对慢速滚动单元进行了一些研究,到目前为止,我已经实现了以下功能,但没有显着提高性能:
- 高度是提前计算好的,而不是使用 heightforrow 方法。
- 单元格背景及其子视图的背景是不透明的。
- 数据布局有两种方式,所以我有两种相似的自定义单元格类,但有一些不同,所以根据内容,决定返回的单元格类型,虽然 90% 的时候,只有使用第一种。
我对这个生涩的滚动不太满意,尽管布局如此复杂,但我一直在沮丧地查找网络以使其滚动黄油平滑,但到目前为止没有任何帮助。请帮忙!