【发布时间】:2018-12-10 05:42:54
【问题描述】:
要一起滚动 2 个不同的滚动视图,关于使用 scrollViewDidScroll 方法并将一个滚动视图的内容偏移量传递给另一个滚动视图的许多问题已经得到解答。
但我的问题有点不同,假设我有 2 个 ScrollView A 和 B 都只有水平滚动。
当视图加载 ScrollView A 有 contentOffSet 说 (x,y) 和 B 滚动视图的内容偏移量:(m,n)。
根据我的理解内容偏移是滚动时的新 (x,y) 值。
现在我无法将 A 的内容偏移值传递到 B 以将它们一起滚动,因为它们由于内容要求而在不同点加载。我需要在 A 中滚动时移动的确切 x 点,然后可以传递它给B。
我也尝试过从 A 的手势获取速度并将其传递给 B,但效果并不顺利。
如何实现两个视图的平滑滚动?
【问题讨论】:
-
只是一个问题,为什么需要使用 2 个不同的滚动视图?在一个滚动视图中获取内容,在慢速滚动过程中可能会滞后一点
-
我无法在单个滚动视图中获取内容,A 是 CollectionView,它的滚动视图的偏移量在 viewDidLoad 处设置为 (9000,0)。视图 B 是滚动视图,内容完全不同,偏移量为 (0,0)。现在,当用户滚动 A 时,它会转到 (9999,0),所以现在我不能真正将此偏移量传递给 B,我需要将 999 x 点传递给 B,这样我就可以添加到它的偏移量 x 值。基本上我只是想知道是否可以通过任何方式让 x 点在滚动时移动,就像通过用当前偏移量减去先前的偏移量一样。我无法获取那些确切的值。
标签: ios cocoa-touch uiscrollview