我要做的是实现水果机滚动视图之类的东西。基本上我有一系列图像(在运行中随机生成),我想让用户滚动这一行。屏幕上可以容纳大约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是自动生成的图像。
我不是要求实现代码,只是关于如何实现它的原则的想法。谢谢!! :)
答案 0 :(得分:1)
我会将它们全部保持为单独的UIImageViews
并将它们一起制作动画(使用UIView
动画)。这样你就让CoreAnimation负责渲染层。
一旦图像离开屏幕,你就可以销毁它 - 并创建新的图像,准备好在另一端进入屏幕。更复杂的方法将涉及屏幕外UIImageView
池,因此您不会立即销毁(并且可能永远不会销毁)。这有点像UITableView
的实现方式 - 只有你自己滚动(如果它只是垂直列我建议UITableView
)。
如果我得到你想要做的事情,我认为表现应该没问题。