Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A performant Grid-View for iOS (iPhone/iPad) that allows sorting of views with gestures (the user can move the items with his finger to sort them) and pinching/rotating/panning gestures allow the user to play with the view and toggle from the cellview to a fullsize display.
Objective-C C
Tree: 810af64db3

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.



An iOS Grid-View allowing the user to sort the views in the scrollView and also to see the views in fullsize by pinching them. 
This view is inspired by the UITableView and uses a datasource and delegates in order to get the data and interact with it.

The best sorting style (swap or push) depends on the frame of the grid; you can choose the one thats suits you best.
Same applies to the layout strategy (vertical or horizontal).

Many working examples provided in the demo app!


- iOS 5 (to access the UIScrollView gestureRecognizers)
- ARC (Automatic Reference Counting)
- Frameworks: Foundation, UIKit, CoreGraphics and QuartzCore

Features - General:
- Works on both the iPhone and iPad (best suited for iPad)
- Works on both portrait and landscape orientation
- Gestures work great inside of the scrollView
- Different layout strategies (Vertical and Horizontal)
- Possibility to provide your own layout strategy
- Demo app provided, with options panel

Features - Sorting:
- Perform a long-touch on a view to be able to move it
- Two different animation styles ("Swap" or "Push")
- Sorted view has a shake animation (can be disabled)
- Only one UIPanGestureRecognizer and one UILongTouchGestureRecognizer used to track ALL views

Features - Fullsize:
- Pinch, rotate and drag views using 2 fingers
- Switch to fullsize mode on the view at the end of these gestures if the view scaled enough
- Provide a different fullsize view (detailed view) for the view via the delegate
- Every view doesnt have it's own gesture recognizers, the main view handles a set of gestures for ALL views

- Lazy-loading of items / reusing cells
- Changing the zoom scale dynamically (when pinching to go fullscreen)
- Delegate callbacks for tap and double-tap

Latest code can be found on GitHub:
Something went wrong with that request. Please try again.