使用随机图像实现比屏幕视图大得多的滚动视图

时间:2010-05-03 13:45:30

标签: iphone objective-c user-interface uiview

我要做的是实现水果机滚动视图之类的东西。基本上我有一系列图像(在运行中随机生成),我想让用户滚动这一行。屏幕上可以容纳大约10张图像,但这条线几乎是无限的。

我的问题是实施此方法的最佳方法是什么?

到目前为止,我已经想过让UIImageView穿过屏幕(宽度等于10个图像的总和),与之相关的图像将是12个左右图像的组合,其中两个图像从在可见区域,这将允许平滑滚动。如果用户进一步滚动,那么我将重建与视图相关联的图像,以便附加新图像并丢弃旧图像。

这个图像重建业务听起来有点复杂,所以我想知道是否有更合理的方法来实现它。

还有一件事,我希望有两条线相互交叉的图像,有点像传送带交叉。如果这有任何意义......如下所示:

      V1
      V2
H1 H2 H3 H4 H5
      V4
      V5

因此,如果移动垂直带,它就像:

      V2
      H3
H1 H2 V4 H4 H5
      V5
      V6

H1-H5,V1-V6是自动生成的图像。

我不是要求实现代码,只是关于如何实现它的原则的想法。谢谢!! :)

1 个答案:

答案 0 :(得分:1)

我会将它们全部保持为单独的UIImageViews并将它们一起制作动画(使用UIView动画)。这样你就让CoreAnimation负责渲染层。 一旦图像离开屏幕,你就可以销毁它 - 并创建新的图像,准备好在另一端进入屏幕。更复杂的方法将涉及屏幕外UIImageView池,因此您不会立即销毁(并且可能永远不会销毁)。这有点像UITableView的实现方式 - 只有你自己滚动(如果它只是垂直列我建议UITableView)。

如果我得到你想要做的事情,我认为表现应该没问题。

相关问题