4

我正在寻找有关如何拥有一个相当大的滚动视图(比如说 8192x8192)的任何建议,它本质上是一个网格,其中放置了大约 5-100 个按钮的子视图。

蛮力方法内存不足,因为 CALayer 似乎正在为滚动视图内容的大小分配位图(使用缩放时内存问题尤其突出)

我接下来向它添加了 CATiledLayer,这解决了内存问题,但是由于图块是异步生成的,因此网格上的效果很模糊,并且仍然不理想,因为它使用大量内存来完成本质上是微不足道的“画一些线”任务。

似乎如果我能以某种方式控制通过 OpenGL 每帧绘制我自己的网格并告诉 UIKit 不要为滚动视图创建位图缓冲区,那将是完美的,但不确定这是否可行甚至是正确的方法?

在 Android 上,我只是控制了整个绘图/缩放/平移,但这在 iOS 上似乎已经提供了大部分功能?

4

1 回答 1

1

您应该查看 WWDC 2009 视频会话 102:“Mastering iPhone Scroll Views”以及 Apple 的 ScrollViewSuite 示例项目。他们解释了如何使用不同的缩放级别进行平铺滚动视图,这听起来像是您所需要的。

于 2012-09-19T19:16:39.990 回答