• Stars
    star
    107
  • Rank 323,587 (Top 7 %)
  • Language
    Swift
  • License
    MIT License
  • Created about 6 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Collection View Layouts is a set of custom flow layouts for iOS which imitate general data grid approaches for mobile apps.

SNCollectionViewLayout

CI Status Version License Platform

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.