我正在尝试在分页滚动视图上实现水平视差,这使得一个视图看起来在x方向上前进得更快,但在相同点上“落地”(例如,说(0,0)) 。这是我的常规设置/视图层次结构:
我知道它必须修改contentOffset并且让我的代表进行所有设置,以便他们可以以相同的方向以1x的速度移动...任何关于解决方案的提示?
答案 0 :(得分:3)
如果您想保留当前的设置,您只需要使用跟踪滚动事件的滚动条-(void)scrollViewDidScroll:(UIScrollView *)scroller
委托方法。在此方法中,您将跟踪内容偏移,然后使用速度倍增器以您希望的方式移动其他视图。
但是,只需2个滚动视图即可轻松完成此操作,当移动时,您可以使用相同的contentOffset
委托方法跟踪其-(void)scrollViewDidScroll:(UIScrollView *)scroller
,并相应地移动另一个。
此外,如果两个滚动视图的大小不同,那么在contentOffset
委托方法中跟踪-(void)scrollViewDidScroll:(UIScrollView *)scroller
然后使用值和滚动视图的{{1}非常容易实现自然的视差效果获取滚动视图移动距离的百分比,然后简单地设置辅助滚动视图的contentSize
以滚动其contentOffset
的百分比。
如果您需要进一步解释,请与我们联系。