4

我想实现一个像 Pinterest 中的网格视图

我考虑过实现为 3 个表视图。但我无法很好地将它们滚动在一起。当我为 scrollView 以外的表视图实现scrollViewDidScroll并设置时,滚动变得缓慢且无法使用。contentOffset

我做的另一个实现是加载一组图像并在scrollViewDidScroll. 该ViewDraw函数仅绘制必要的图像,并从内存中删除已绘制但不可见的其余图像。这也使 ScrollView 滚动缓慢。另一个问题是在绘制图像之前有白色(背景色)补丁。

实现此网格视图的最佳方法应该是什么?

4

1 回答 1

3

解决方案1(我不知道这是否有效,我不太喜欢它)

如何并排拥有 3 个垂直表视图,但将任何触摸事件从任何表视图转发到其他视图。我了解您在尝试同步表格视图时遇到了性能问题,但也许在事件级别上工作会更好。也许。

解决方案 2

使用 UIScrollView (当然用于滚动目的)。出于性能和内存的原因,您还需要实现按需加载机制,这样您就不会一次加载所有图像。

为此,我将创建一个类 CustomImageStrip 来处理垂直图像列表。此类与滚动视图一起使用并用于contentOffset决定何时从条带加载/卸载图像。

通过拥有 3 个独立的图像条类,图像可以是任意大小且无需对齐。但是,由于它们都属于同一个 UIScrollView 滚动将同时完成。

于 2012-02-26T08:05:51.337 回答