我有一个水平滚动UIScrollView,它应该显示彼此相邻的不同尺寸的图像。所有图像都必须调整到滚动视图的高度,这使我们的宽度可变。这里的问题是没有分页,但图像仍然需要延迟加载。更糟糕的是,在显示视图时我只有图片的URL,所以我不知道图像的宽度/高度。
我的想法是在每个网址的滚动视图中都有一个固定大小的容器视图。然后让容器视图加载图像,并通过委托告诉scrollview有关图像大小的信息。然后,scrollview可以更改容器视图的大小,并相应地重新布局其他视图。 (但不是这样,当滚动时你不能这样做吗?)
我不确定这是不是要走的路,很想听听有关这方面的一些想法。另外,我如何确定何时加载图像? scrollview的内容和偏移会不断变化。我还没有看到任何示例代码或开源项目,如果我错过了它们,请告诉我。
答案 0 :(得分:0)
最简单的方法是在开始时加载一个小的JSON文件(或其他格式),只包含图像的大小。那你就提前了解所有尺码。
这在服务器端使用GD或Imagick(至少使用PHP)非常方便,只是不要忘记将结果缓存在服务器上以获得更好的性能。
答案 1 :(得分:0)
我觉得UIScrollView的内容改变不是问题。您只需确保占用大部分屏幕区域的当前占位符保持在同一位置。更改scrollviews contentoffset以使他保持相同的位置。如果有一个占位符完全在屏幕上,如果用户向右拖动,如果用户向右拖动则向左拖动,如果用户向右拖动,则向左移动。
请告诉我,如果我误解了。