A UICollectionViewLayout with a really interesting image layout algorithm.
Objective-C Ruby
Latest commit 25fc5de Jun 14, 2015 @KittenYang Update README.md

README.md

KYTilePhotoLayout

CocoaPods Version License Platform

A UICollectionViewLayout with a really interesting image layout algorithm.

一个图片布局算法,实现图片的不规则排列,并且大小不一。具体效果如图:

Algorithm introduce article:

算法介绍文章:

Blog

垂直滚动:Vertical Scroll

水平滚动:Horizontal Scroll

Installation

pod 'KYTilePhotoLayout', '~> 1.0.0'

How to use

It's just two files: KYTilePhotoLayout.h && KYTilePhotoLayout.m. And it's the subclass of UICollectionViewLayout.So you can easily use like a normal UICollectionViewLayout. eg:

*Use code:

    KYTilePhotoLayout *tileLayout = [[KYTilePhotoLayout alloc]init];
    tileLayout.ColOfPortrait  = 2;
    tileLayout.ColOfLandscape = 3;
    tileLayout.LayoutDirection =  Vertical;
    self.collectionView.collectionViewLayout = tileLayout;

*Use Interface Builder:

Set the layout's class to KYTilePhotoLayout .Then you can set the value visibly:

How to invoke transition between Portrait and Landscape:

In you ViewController:

#pragma mark -- RotateToReLayout
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{

    [super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];

    KYTilePhotoLayout *layout = (KYTilePhotoLayout *)self.collectionView.collectionViewLayout;
    [layout invalidateLayout];
}

License

This project is under MIT License. See LICENSE file for more information.