This library provides a custom UICollectionView that allows to expand and collapse sections. Provides a simple API to manage collection view appearance.
- iOS 9.0+
- Xcode 10.2+
- Swift 5.0+
CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:
$ gem install cocoapods
To integrate CampcotCollectionView into your Xcode project using CocoaPods, specify it in your Podfile:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
target '<Your Target Name>' do
    pod 'CampcotCollectionView'
endThen, run the following command:
$ pod install
import CampcotCollectionView- Create CollectionView
let campcotCollectionView = CampcotCollectionView()- Add campcotCollectionViewto view hierarchy.
- Call togglemethod oncampcotCollectionView.
public func toggle(to section: Int,
                   offsetCorrection: CGFloat = default,
                   animated: Bool,
                   completion: ((Bool) -> Void)? = default)- Add UICollectionView to your Storyboard.
- In Identity Inspectorset theClassproperty toCampcotCollectionView.
- Open Attributes Inspectorand set theLayoutproperty toCustom. SetClassproperty to eitherExpandedLayoutorCollapsedLayout.
- Create outlet for your collectionView.
- Set datasource and delegate for collectionView.
- Set the settings for collectionView in  Attributes Inspectoror manualy.
A Boolean value that determines whether the sections are expanded.
public var isExpanded: Bool { get }Expands all the sections. Pins a section at index section to the top of view bounds.
offsetCorrection - the offset for pinned section from the top. Default value of offsetCorrection is 0.
animated - if true expands sections with animation.
completion - callback for animation.
public func expand(from section: Int,
                   offsetCorrection: CGFloat = default,
                   animated: Bool,
                   completion: ((Bool) -> Void)? = default)Collapses all the sections. Pins a section at index section to the top of view bounds.
offsetCorrection - the offset for pinned section from the top. Default value of offsetCorrection is 0.
animated - if true collapses sections with animation.
completion - callback for animation.
public func collapse(to section: Int,
                     offsetCorrection: CGFloat = default,
                     animated: Bool,
                     completion: ((Bool) -> Void)? = default)Toggles current state from collapsed to expaned and vise versa. Pins a section at index section to the top of view bounds.
offsetCorrection - the offset for pinned section from the top. Default value of offsetCorrection is 0.
animated - if true toggles sections with animation.
completion - callback for animation.
public func toggle(to section: Int,
                   offsetCorrection: CGFloat = default,
                   animated: Bool,
                   completion: ((Bool) -> Void)? = default)