UICollectionViewLayout subclass that implements Instagram style layout

SquareFlowLayout

SquareFlowLayout is another UICollectionViewLayout subclass that implements Instagram style layout.

Makes your UICollectionView to looks like Instagram explore has never been so easy before. SquareFlowLayout provide dynamic layout generation by defining which IndexPath should be expanded.

Installation

CocoaPods

pod 'SquareFlowLayout'

Manually

  1. Download and drop Classes folder into your project.
  2. Congratulations!

Usage

  1. Set SquareFlowLayout to your UICollectionView and set it flowDelegate
    let flowLayout = SquareFlowLayout()
    flowLayout.flowDelegate = self
    self.collectionView.collectionViewLayout = flowLayout
  1. Make your class conform to SquareFlowLayoutDelegate
  2. Use delegate method to decide which cell should be pinned
extension ViewController: SquareFlowLayoutDelegate {
    func shouldExpandItem(at indexPath: IndexPath) -> Bool {
        return self.layoutValues[indexPath.row] == .expanded
    }
}
  1. Look into example project for more info

GitHub