Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A waterflow display like the Pinterest feeling, supporting UICollectionView
Latest commit 6577540 @aceisScope Merge pull request #9 from jayi/master
Fix minHeightAtColumn.





Resembled datasource and delegate of UITableView, and mainly intended to make a display in the waterflow way of Pinterest. Each cell could be simply initialized with cellAtIndexPath way.

Different Versions

  1. The WaterflowView(New) is based on a new layout pattern i.e. whenever to place a new cell, find the shortest column and insert the cell into the column, rather than layout by rows in column in the old one. To imply the new one in project, just change the name of file... note that only one file, WaterflowView or WaterflowView(new), should exist in a project Yet if the images for display are mostly of normal size (not super long), the WaterflowView(old) is still recommended.
  2. WaterFlowLayout is UICollectionViewLayout specially for the UICollectionView in iOS6. Note that this is not a subclass of UICollectionViewFlowLayout.


For WaterflowView(New)

When to load data for WaterflowView, (or not to load), should be decided in the delegate method

    - (void)flowView:(WaterflowView *)_flowView willLoadData:(int)page

WaterflowView detects every scroll-to-bottom, and the delegate will "decide" for WaterflowView if it should reloadData or reloadFailed.

For WaterFlowLayout

This follows the datasource and delegate of UICollectionViewLayout.


This is available under the MIT license.


The Swift Version has the basic UICollectionView implementation but has not yet been fully compeleted. Test and learn only. Have fun forking.

Something went wrong with that request. Please try again.