我正在使用UIScrollView制作带有某些页面的网络样式轮播,详细说明了我的应用程序的工作方式,并且正在使用NSTimer在页面之间进行切换(通过移动内容偏移量)。

我对如何使最后一页(滚动视图的最右边)向左过渡感到有些困惑,就好像它循环回到了第一页一样,所以像这样循环:

1 -> 2 -> 3 -> 1 -> 2 -> 3


目前,我只是告诉它在位置3之后偏移到位置1,但是显然这是通过向左移动通过位置2来实现的,而不是继续在右边并再次发现位置1。

我不能在这里使用页面视图控制器,因为我没有足够的细粒度控制来控制每页面发生的情况,这些页面之间的过渡速度,其他动画等。绝对需要使用UIScrollView,并找到一种从第3页向前滑动并让第1页返回的方法。

有任何想法吗?我该怎么做?

最佳答案

我建议您看看official apple example of infinite scroll view
或使用iCarousel control
如果您不想执行此操作,则应添加这样的视图[1 2 3 1],并在切换到最后一个视图后调用此方法:

[scrollView scrollRectToVisible:CGRectMake(0, 0, width , height) animated:NO];

10-08 03:18