0

我有一个水平滚动的 UIScrollView,它应该显示不同尺寸的图像。所有图像都必须调整为滚动视图的高度,这给我们留下了可变宽度。这里的问题是没有分页,但是图像仍然需要延迟加载。更糟糕的是,在显示视图时,我只有图像的 URL,所以我不知道图像的宽度/高度。

我的想法是在每个 URL 的滚动视图中都有一个固定大小的容器视图。然后让容器视图加载图像并通过委托告诉滚动视图图像的大小。然后滚动视图可以更改容器视图的大小并相应地重新布局其他视图。(但不是这样你滚动时不能这样做吗?)

我不确定这是否是要走的路,很想听听对此的一些想法。另外,我将如何实际确定何时加载图像?滚动视图的内容大小和偏移量会不断变化。我也没有看到任何这样做的示例代码或开源项目,如果我错过了,请告诉我。

4

2 回答 2

0

最简单的方法是在开始时加载一个小的 JSON 文件(或其他格式),其中只有图像的大小。然后你会提前知道所有的尺寸。

这在服务器端使用 GD 或 Imagick(至少使用 PHP)非常有用,只是不要忘记在服务器上缓存结果以获得更好的性能。

于 2013-07-14T15:45:20.833 回答
0

我认为对于 UIScrollView 来说,内容大小的变化不是问题。您只需确保占据大部分屏幕空间的当前占位符保持在同一位置。更改滚动视图内容偏移量以使他保持在相同的位置。如果屏幕上完全有 1 个占位符,如果用户向左拖动,我将使用左侧的占位符,如果用户向右拖动,则使用右侧的占位符。

如果我误解了,请告诉我。

于 2013-07-14T16:45:02.383 回答