Collection View Layouts is a set of custom flow layouts for iOS which imitate general data grid approaches for mobile apps.
ScreenShots
To run the example project, clone the repo, and run pod install
from the Example directory first.
1- Create instance
let snCollectionViewLayout = SNCollectionViewLayout()
snCollectionViewLayout.fixedDivisionCount = 4 // Columns for .vertical, rows for .horizontal
snCollectionViewLayout.delegate = self
myCollectionView.collectionViewLayout = snCollectionViewLayout
2- Delegate
// scale for items based number of columns
func scaleForItem(inCollectionView collectionView: UICollectionView, withLayout layout: UICollectionViewLayout, atIndexPath indexPath: IndexPath) -> UInt {
if indexPath.row == 0 || indexPath.row == 3 || indexPath.row == 10 || indexPath.row == 70 {
return 2
}
return 1
}
// height for item if set fixedDimension height equal width
func itemFlexibleDimension(inCollectionView collectionView: UICollectionView, withLayout layout: UICollectionViewLayout, fixedDimension: CGFloat) -> CGFloat {
return fixedDimension
}
// header height
func headerFlexibleDimension(inCollectionView collectionView: UICollectionView, withLayout layout: UICollectionViewLayout, fixedDimension: CGFloat) -> CGFloat {
return 0
}
SNCollectionViewLayout is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'SNCollectionViewLayout'
ahmedAlmasri, [email protected]
SNCollectionViewLayout is available under the MIT license. See the LICENSE file for more info.