This library provides a custom UICollectionView
that allows to expand and collapse sections. Provides a simple API to manage collection view appearance.
Requirements
- iOS 9.0+
- Xcode 10.2+
- Swift 5.0+
Installation
CocoaPods
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'
end
Then, run the following command:
$ pod install
Usage
Manual Setup
import CampcotCollectionView
- Create CollectionView
let campcotCollectionView = CampcotCollectionView()
- Add
campcotCollectionView
to view hierarchy. - Call
toggle
method oncampcotCollectionView
.
public func toggle(to section: Int,
offsetCorrection: CGFloat = default,
animated: Bool,
completion: ((Bool) -> Void)? = default)
Storyboard Setup
- Add UICollectionView to your Storyboard.
- In
Identity Inspector
set theClass
property toCampcotCollectionView
. - Open
Attributes Inspector
and set theLayout
property toCustom
. SetClass
property to eitherExpandedLayout
orCollapsedLayout
. - Create outlet for your collectionView.
- Set datasource and delegate for collectionView.
- Set the settings for collectionView in
Attributes Inspector
or manualy.
Documentation
CampcotCollectionView
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)