我应该如何在swift中实现连续滚动页面



你能给我一些建议吗。我已经挣扎了好几天了。

我的目标是实现连续滚动以显示文档中的页面。每个页面都由一个viewController控制。用户应该能够放大和缩小。我应该用scrollView还是collectionView从头开始?哪个更好,内存效率更高?

或者有现成的解决方案吗?(我在Github中搜索过,但没有成功,UIPageViewController是决定性的,不是一个解决方案,因为它不允许连续滚动,只显示整个页面(

非常感谢

图片:示例连续滚动

集合视图可以很好地进行连续滚动,并有效地利用内存。(单元格被回收。(如果滚动区域的总内容太多,无法放入内存,则需要在滚动进入视图时将每个页面的内容加载到内存中,并在滚动离开时将其释放。(也许让您的模型存储每个页面内容的文件URL,并将页面内容保存到单元格中。(

至于缩放,最好的方法取决于你的意思。如果内容是像PDF一样的矢量内容,您可以简单地在用户滚动时重新渲染矢量图像。如果内容是非常高分辨率的图像,您可能需要创建mipmated平铺渲染框架,或者使用其他人的。我以前写过自己的mipmap平铺渲染框架。这是可行的,但需要做很多工作。

(你将原始的巨大图像分解成更小的正方形瓦片。然后,你将原始图像以50%的比例渲染成瓦片,然后保存这些瓦片,然后是25%,然后是12.5%,等等,直到你达到单个图像填满屏幕的大小。(