在委托实现- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView,判定当前bounds,如果当前view是最后一个则重设bounds,使其显示第一个view,其实也就是把最后一页设成第一页一样的,然后:
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
pageControlUsed = NO;
CGFloat pageWidth = scrollView.frame.size.width;
CGPoint p = CGPointZero;
p.x = pageWidth * (kNumberOfPages -1);
int page = floor((scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
if( page == kNumberOfPages -1 )
[scrollView setContentOffset:CGPointZero animated:NO];
else if( page == 0 )
[scrollView setContentOffset:p animated:NO];
}
就可以无限循环了,而且一点都看不出痕迹。