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
}
- Swift 4.2+
- Xcode 10.0+
- iOS 11.0+
SNCollectionViewLayout is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'SNCollectionViewLayout'
ahmedAlmasri, ahmed.almasri@ymail.com
SNCollectionViewLayout is available under the MIT license. See the LICENSE file for more info.