steveram / RFQuiltLayout

A UICollectionViewLayout subclass to put items in a quilting pattern

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RFQUILTLAYOUT

RFQuiltLayout is a UICollectionViewLayout subclass, used as the layout object of UICollectionView.

Demo 1 Demo 2

Installation

Add the layout as the subclass of your UICollectionViewLayout.

Subclass the layout

Make sure you set the delegate of the flow layout

- (void) viewDidLoad {
  // ...

  RFQuiltLayout* layout = (id)[self.collectionView collectionViewLayout];
  layout.direction = UICollectionViewScrollDirectionVertical;
  layout.blockPixels = CGSizeMake(100, 100);
}

- (CGSize) blockSizeForItemAtIndexPath:(NSIndexPath *)indexPath {
    if (indexPath.row % 2 == 0)
        return CGSizeMake(2, 1);
    
    return CGSizeMake(1, 2);
}

(Note: all delegate methods and properties are optional)

About

A UICollectionViewLayout subclass to put items in a quilting pattern

License:MIT License


Languages

Language:Objective-C 97.2%Language:Ruby 2.8%