SNCollectionViewLayout
SNCollectionViewLayout copied to clipboard
Collection View Layouts is a set of custom flow layouts for iOS which imitate general data grid approaches for mobile apps.
SNCollectionViewLayout
ScreenShots
Example
To run the example project, clone the repo, and run pod install from the Example directory first.
Using
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
}
Requirements
- Swift 4.2+
- Xcode 10.0+
- iOS 11.0+
Installation
SNCollectionViewLayout is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'SNCollectionViewLayout'
Author
ahmedAlmasri, [email protected]
License
SNCollectionViewLayout is available under the MIT license. See the LICENSE file for more info.