Skip to content
Learn more
Please note that GitHub no longer supports Internet Explorer versions 7 or 8.

We recommend upgrading to the latest Internet Explorer, Google Chrome, or Firefox.

If you are using IE 9 or later, make sure you turn off "Compatibility View".

This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Clone in Desktop Download ZIP

UIScrollView subclass that reuses its tile views

branch: master

This branch is 0 commits ahead and 0 commits behind master

empty scrollview fix

tileView causes infinite loop if tilesCount = 0
latest commit 801b0be95b
Balázs Kiss authored
README.md

DARecycledScrollView

A UIScrollView subclass that reuses its tile views very much like UITableView does: there is a dataSource object which is used to configure scroll view subviews.

Alt text

Features

  • All your tile views are reused behind the scenes,
  • Infinite scrolling has never been easier - there is a boolean flag 'infinite',
  • Subviews layout is updated nicely after user interface rotations.

Installation

Just drag&drop DARecycledScrollView and DARecycledTileView classes in your project (Cocoa pod is coming)

Usage

DARecycledScrollView is a direct subclass of UIScrollView, the only difference is that it also has a datasource object. Here is an example:

- (NSInteger)numberOfTilesInScrollView:(DARecycledScrollView *)scrollView
{
    return 10;
}

- (void)recycledScrollView:(DARecycledScrollView *)scrollView configureTileView:(DARecycledTileView *)tileView forIndex:(NSUInteger)index
{
    // configure your tile view
}

- (DARecycledTileView *)tileViewForRecycledScrollView:(DARecycledScrollView *)scrollView
{
    DARecycledTileView *tileView = [scrollView dequeueRecycledTileView];
    if (!tileView) {
        tileView = [[DARecycledTileView alloc] initWithFrame:CGRectMake(0., 0., 100., 100.)];
    }
    return tileView;
}

- (CGFloat)widthForTileInScrollView:(DARecycledScrollView *)scrollView
{
    return 100.;
}

TODO

  • Support tile views of different height and width,
  • Add editing animations for removing, inserting, reordering tile views.

(If someone really needs this, let me know)

Something went wrong with that request. Please try again.