2 UIScrollView 检测当前页面并加载正确的页面

Posted

技术标签:

【中文标题】2 UIScrollView 检测当前页面并加载正确的页面【英文标题】:2 UIScrollView detect current page and loading correct ppage 【发布时间】:2010-10-12 17:10:25 【问题描述】:

问题的第一部分:检测当前显示在滚动视图 A 和 B 中的图像

我想在我的主视图中放置两个 UIScrollView。非常简单地完成了。所以我把 UIScrollView A 放在 UIScrollView B 上面。 所以它看起来像这样:

Graphical representation
________
|  A   |   ScrollViewA is above ScrollViewB  
|______|
|  B   |   ScrollViewB is below ScrollViewA
|______|

会有用户可以在两个 ScrollView 上左右滑动的图像。 它们都显示不同的图像集。

首先我想知道如何检测两个滚动视图都在哪个图像上。对于 A 和 B。

所以我应该能够检测到滚动视图 A 和滚动视图 B 上显示了哪些图像 例如:UIScrollView A 在图像 12 上,UIScrollView B 在图像 67 上。

问题的第二部分:在用户左右滚动时在两个滚动视图上加载图像

因为ScrollViewA中会有很多图片可以让用户左右滚动;以及 ScrollViewB 中的许多图像,用户也可以从左到右滚动;显然我不想将它们全部加载到滚动视图中。我可以在滚动视图中加载它们的最佳方式是什么?

一个想法是,如果用户在图像 5 上,然后用户向左滑动,那么下一个图像将是 6,因此只加载该图像。等等。

每个人都可以帮助我如何实现这样的事情。谢谢你。 我们将不胜感激您的所有想法和帮助。

【问题讨论】:

【参考方案1】:

在加载图像时,您可以这样做:

    加载当前图片 缓冲加载下一张和上一张图像并将它们定位在可见视图的边界之外 当用户向左滑动时,将右图移动到视图中,卸载左图并缓冲新的右图。为正确的人做同样的事情。

这样你一次只能加载 3 个滚动视图。

在跟踪加载的图像时,您必须自己跟踪。

【讨论】:

太好了。伪代码与我的相似。你知道我如何缓冲图像吗?加载它们等等?以及如何将它们附加到uiscrollview?对不起我的菜鸟 正常加载图片。将它们添加为 UIScrollView 的子视图并定位中心,使它们刚好位于屏幕边界之外。如果您尝试将当前图像移到一侧并且缓冲的图像会像杂志应用程序一样进入视野,那么您就知道这样做是正确的。

以上是关于2 UIScrollView 检测当前页面并加载正确的页面的主要内容,如果未能解决你的问题,请参考以下文章

2 UIScrollView中的UITableView

页面在获取当前位置时未加载

如何在 iOS 中检测 UITextView (UIScrollView) 故障的底部

循环遍历 UIScrollView 并设置 UImageView

延迟加载 UIScrollView 页面时如何摆脱障碍

如何使用 PDFkit 检测滚动到 PDF 中的另一个页面