代码之家  ›  专栏  ›  技术社区  ›  rytis

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

  •  1
  • rytis  · 技术社区  · 15 年前

    我要做的是实现类似于水果机滚动视图的东西。基本上我有一系列的图像(随机生成),我想允许用户滚动浏览这一行。屏幕上可以容纳大约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 回复  |  直到 15 年前
        1
  •  1
  •   philsquared    15 年前

    我只是把它们分开 UIImageViews 并协调它们(使用 UIView 动画)。这样可以让CoreAnimation负责渲染到层中。 一旦图像移到屏幕外,你就可以将其销毁,并在另一端创建新的图像。一个更复杂的方法将涉及一个屏幕外的池 UIImageView 所以你不会立刻销毁(也可能永远不会销毁)。那有点像 UITableView 是实现的-只有你自己滚动(如果只是垂直列,我建议 uiTable视图 s)。

    如果我知道你想做什么,我认为演出应该会很好。

    推荐文章