Safari使用选项卡式网页执行此操作.AppStore(3.0)使用应用程序的预览图像执行此操作.视图水平滚动并锁定在每个视图的中心.知道怎么做到这一点?
你需要:
启用了分页的ScrollView,三个屏幕宽.
要在滚动视图中有三个子视图 - L(左侧内容,位于0,0),C(中心内容,位于320,0),R(右侧内容,位于640,0).C是您最初要显示的内容.L是用户向左滚动时显示的内容.
将scrollview的contentoffset设置为320(对于纵向模式),因为您希望C最初显示,而不是L.
每次滚动完成时,contentoffset将是屏幕的整数倍.如果你仍然显示C(contentoffset是320),那你就没事了.如果contentoffset现在为0或640,那么您需要做一些工作.
如果用户向左滚动 - 您具有相同的视图层次结构,但现在滚动视图显示L而不是C,因为contentoffset为0,scrolloffset为0.您现在应该重置所有内容,以便您拥有XLC和scrolloffset 320-如果用户想要再次向左滚动.换句话说,C成为新的R,L成为新的C,如果用户再次向左滚动,则X是要显示的新内容.
覆盖这样做的方法是:
(void)scrollViewDidEndDecelerating:(UIScrollView*)scrollView