2010-08-06 66 views

回答

5

当然,你需要三个视图。在任何时候,您都有左视图,右视图和当前视图。

这需要通过UIScrollViewDelegate通知每个移动。

如果您检测到您右移了,则释放左侧,使左=当前,当前=右,并创建一个新权利。

如果您检测到您向左移动,那么您可以右移,使right = current,current = left,并创建一个新的左边。

一般来说,不需要远离当前多于一页的任何视图。所以你总共只需要三页。

当然,您还需要操纵UIScrollView的位置,以便您可以进行移动 - 最终结果是您不会移动,尽管看起来像您已经有了。当您根据左/电流/右洗牌完成滚动,并改变了看法 - 你做

[self scrollRectToVisible:(middle frame) animated:NO]; 

,让你一直在寻找相同的实际页面,一个页面的每侧。当滚动发生时,它看起来像用户可以保持循环滚动 - 但每个页面打勾后,视图混洗,滚动视图内的位置设置回中间,用户可以再次滚动。

重新开始只是使用与任何数据结构的另一端的任何对象相关的视图的问题 - 因此,如果current = [(NSArray)data lastObject] then right = [(NSArray)data objectAtIndex:0]

+0

感谢您的回答。 – pcjbird 2010-08-06 15:28:14