微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

或者有任何现成的解决方案吗? (我在 Github 中搜索没有成功,UIPageViewController 是明确的不是解决方案,因为它不允许连续滚动并且只显示整个页面

非常感谢

图片example continuous scrolling

解决方法

集合视图适用于连续滚动,并有效利用内存。 (单元格被回收。)如果滚动区域的总内容太多而无法放入内存中,您将希望在滚动进入视图时将每个页面的内容加载到内存中,并在滚动时释放它。 (也许让您的模型存储文件 URL 指向每个页面的内容,并将页面内容保存到单元格中。)

至于缩放,实现此目的的最佳方式取决于您的意思。如果内容是像 PDF 这样的矢量内容,您可以在用户滚动时简单地重新渲染矢量图像。如果内容是非常高分辨率的图像,您可能需要创建一个 mipmapped tiled rendering 框架,或使用其他人的框架。我以前写过自己的 mipmapped 平铺渲染框架。这是可行的,但工作量很大。

(你把原始的巨大图像分成更小的方形瓷砖。然后你将原始图像以 50% 的比例渲染成瓷砖并保存这些,然后是 25%,然后是 12.5%,等等,直到你得到单个图像填满屏幕的大小。)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。