水平视差滚动UIScrollView iOS

水平视差滚动UIScrollView iOS,ios,uiview,uiscrollview,parallax,uiscrollviewdelegate,Ios,Uiview,Uiscrollview,Parallax,Uiscrollviewdelegate,我试图在分页滚动视图上实现水平视差,这样一来,一个视图在x方向上似乎前进得更快,但“落”在同一个点上(例如,(0,0))。以下是我的常规设置/视图层次结构: (透明滚动条,拦截/通过滚动条 活动) (我想在x轴上以1.2倍的速度移动的对象覆盖) 方向,但不超过它的“着陆点”) (另一个覆盖,我想在x轴上以1.0x的速度移动 (方向) 我知道这与修改contentOffset有关,我让我的学员都进行了设置,以便他们都能以1倍的速度朝同一方向移动……有关解决方案的任何提示?如果要保持当前设置,只

我试图在分页滚动视图上实现水平视差,这样一来,一个视图在x方向上似乎前进得更快,但“落”在同一个点上(例如,(0,0))。以下是我的常规设置/视图层次结构:

  • (透明滚动条,拦截/通过滚动条 活动)
  • (我想在x轴上以1.2倍的速度移动的对象覆盖) 方向,但不超过它的“着陆点”)
  • (另一个覆盖,我想在x轴上以1.0x的速度移动 (方向)

我知道这与修改contentOffset有关,我让我的学员都进行了设置,以便他们都能以1倍的速度朝同一方向移动……有关解决方案的任何提示?

如果要保持当前设置,只需使用
-(void)scrollViewDidScroll:(UIScrollView*)scroller
使用跟踪滚动事件的滚动条委派方法。在这种方法中,您将跟踪内容偏移,然后使用速度倍增器以您希望的方式移动其他视图

但是,您只需使用两个ScrollView即可轻松完成此操作,当其中一个移动时,您可以在相同的
-(void)scrollViewDidScroll:(UIScrollView*)scroller
委托方法中跟踪其
内容偏移量
,并相应地移动另一个

此外,如果两个ScrollView的大小不同,那么在
-(void)scrollViewDidScroll:(UIScrollView*)中跟踪
内容偏移量
非常容易实现自然视差效果scroller
delegate方法,然后使用该值和scrollview的
contentSize
获取scrollview移动距离的百分比,然后只需设置次scrollview的
contentOffset
即可滚动其
contentSize
的百分比


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

如何使次视图每次都落在同一位置?两个滚动条的contentSize是否应该相同?该应用程序是应用商店上的Instago,我希望主页上显示位置的幻灯片中的彩色框在触摸后以不同的速率移动。我需要层以不同的速率移动,我不太确定移动层占其他层的百分比如何有助于实现这一效果。如果你想下载具有我所说的影响的应用程序,请签出(它是免费的)。在这个应用程序中,背景和时间线(前景)有不同的宽度。因此,每一个移动相同百分比但10%的前景像素比10%的背景像素多,因此前景看起来移动得更快。如果您想保持查看相同的contentSize,您仍然可以选择移动快一点,但是移动快一点的必须在移动慢一点的之前停止移动。