水平视差滚动UIScrollView iOS

我正在尝试在分页滚动视图上实现水平视差,这使得一个视图看起来在x方向上前进得更快但在相同点上“着陆”(例如,说(0,0)).这是我的常规设置/视图层次结构:

>(透明卷轴,截取/通过滚动
事件)
>(对象叠加,我想在x中移动1.2倍速
方向,但不超过它的“着陆点”)
>(我希望在x中以1.0x的速度移动的另一个叠加层
方向)

我知道它必须做一些修改contentOffset的事情,我让我的代表都进行了设置,这样他们就能以1x的速度向相同的方向移动……任何有关解决方案的提示?

解决方法

如果你想保留当前的设置,你需要做的就是使用 – (void)scrollViewDidScroll:(UIScrollView *)滚动委托方法和跟踪滚动事件的滚动条.在此方法中,您将跟踪内容偏移,然后使用速度倍增器以您希望的方式移动其他视图.

但是,只需2个滚动视图就可以轻松完成此操作,当一个移动时,您可以在相同的 – (void)scrollViewDidScroll:(UIScrollView *)滚动器委托方法中跟踪其contentOffset,并相应地移动另一个.

此外,如果两个滚动视图具有不同的大小,自然视差效果非常容易实现跟踪 – (void)scrollViewDidScroll:(UIScrollView *)滚动委托方法中的contentOffset,然后使用值和scrollview的contentSize来获取scrollview移动了多远的百分比,然后简单地设置辅助scrollview的contentOffset以滚动它的contentSize的百分比.

如果您需要进一步解释,请告诉我.

以上是来客网为你收集整理的水平视差滚动UIScrollView iOS全部内容,希望文章能够帮你解决水平视差滚动UIScrollView iOS所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。