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.
- 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.
- WaterFlowLayout is UICollectionViewLayout specially for the UICollectionView in iOS6. Note that this is not a subclass of UICollectionViewFlowLayout.
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.
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.