2012-01-29 107 views
2

我想创建一个全向滚动视图,其工作方式与“墙上的声音”应用非常相似。如在,用户应该能够拉入任何方向,永远不会结束。我想要保持移动的顺畅(并且不会像标准滚动视图中那样看到页面发生变化)。有谁知道如何做到这一点?或者我会需要OpenGL吗?创建一个全向滚动视图

+0

告诉我们更多关于你需要展示的内容。它只是一个图像或其他东西的递归? – TheAmateurProgrammer 2012-01-29 12:34:52

+0

该视图将初始化为一些图像(来自URL),当用户将其移至任何方向时,该URL中的更多图像将被加载。一直以来,图像都会有所不同。 – 2012-01-29 13:25:43

+0

您可以尝试使用ScrollView的代表之一,例如'scrollViewWillBeginDragging'来确定scrollView的内容偏移量是否接近其大小,如果是,则扩展它。 – 2012-01-29 15:03:56

回答

0

创建一个3x3的视图网格,每个视图网格的大小。随着滚动视图移动到另一个部分,重新​​排列视图以不断将视口置于中心。在大多数情况下,3x3就足够了,但是如果重新绘制视图很昂贵,则可能需要使用较大的网格(例如5x5)。这要求你有一些机制将你的完整视图分割成多个tile。

如果您愿意,您可以使用CALayer执行相同的操作。如果你这样做,你应该考虑使用CATiledLayer。请参阅Matt Long在CIMGF上的快速介绍。

+0

所以你说我应该创建一个由9个UIViews/UIImageViews组成的960x2880 scrollview,然后在用户移出视图时重绘这些视图? – 2012-01-29 20:31:49

+0

我通常重新排列它们。如果你的方向正确,那么在滚动之前将左侧视图移到最右侧。在任何时候,在滚动视图中只有9个视图,但他们继续前进。 – 2012-01-30 00:34:15

+0

好吧,我会尽力做到这一点。如果我不管理,你会愿意写一些示例代码吗? :-) – 2012-01-30 17:39:43