DGCarouselFlowLayout

A carousel flow layout for UICollectionView on iOS.

Requirements

  • iOS 12.0+
  • Swift 5.5+
  • Xcode 10.0+

Installation

SPM

File > Add Packages > https://github.com/donggyushin/DGCarouselFlowLayout

CocoaPod

pod 'DGCarouselFlowLayout', :git => 'https://github.com/donggyushin/DGCarouselFlowLayout'

Usage

private lazy var collectionView: UICollectionView = {
    let layout = DGCarouselFlowLayout()
    layout.scrollDirection = .horizontal
    layout.itemSize = .init(width: 200, height: 200)
    let view = UICollectionView(frame: .zero, collectionViewLayout: layout)
    return view
}()

Properties

Properties Description Default Type
sideItemScale The shrinking ratio for collection items which are not in the center. 1 CGFloat
sideItemAlpha The opacity ratio for collection items which are not in the center. 1 CGFloat
sideItemShift A vertical/horizontal offset (depending on the collectionView scroll direction) for collection items which are not in the center. 0 CGFloat
spacingMode DGCarouselFlowLayoutSpacingMode.fixed(spacing: CGFloat) Items in the carousel are positioned with a fixed space between them. DGCarouselFlowLayoutSpacingMode.overlap(visibleOffset: CGFloat) A fixed part of the side items are visible on the sides of the collection (and therefore the space between items depends on the collection size). .fixed(spacing: 40) DGCarouselFlowLayoutSpacingMode

GitHub

View Github