Tag Archive for 'uiscrollview'

A infinite/endless paging UIScrollView

Infinity is a very powerful concept, so maybe my post title shouldn’t include this term. Anyway, I tried to create something similar to a infinite or endless paging scroll view.

The idea is very simple:

  • Create a view including a standard scroll view.
  • Provide an interface to load views for each page on demand.
  • Cache views for pages (specify the maximum amount of cached pages).
  • If user scrolls the view load (and cache) the next and previous view.

You will find the source code of this component (I named it InfinitePagingView) and a example project at our github repository.

Using InfinitePagingView is very straightforward. Just implement the InfinitePagingDataSource protocol, create an instance of InfinitePagingView and add it to your current view:

InfinitePagingView *infinitePagingView = [[InfinitePagingView alloc]
            initWithFrame:CGRectMake(0, 0, 320, 480)
            andDataSource:self];
 
[self.view addSubview:infinitePagingView];
[infinitePagingView release];

After that -(UIView*) infinitePagingView:(InfinitePagingView*)infinitePagingView viewForPageIndex:(int)index gets called for each page and you can provide your custom view for the requested page.

Cheers,
Andreas