Sticky headers for UICollectionView written in pure Swift (based on CSStickyHeaderFlowLayout)
Sticky headers for UICollectionView written in pure Swift
Based on CSStickyHeaderFlowLayout. StickyHeaderFlowLayout
makes it easy to create sticky headers in UICollectionView
.
You can use CocoaPods to install StickyHeaderFlowLayout
by adding it to your Podfile
:
platform :ios, '9.0'
target 'MyApp' do
pod 'StickyHeaderFlowLayout'
end
To use this library in your project manually you may:
Just drag StickyHeaderFlowLayout.swift
and StickyHeaderFlowLayoutAttributes.swift
to the project tree
Repository contains small sample project which shows basic integration.
let layout = StickyHeaderFlowLayout()
let collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)
collectionView.register(CollectionParallaxHeader.self, forSupplementaryViewOfKind: StickyHeaderFlowLayout.parallaxHeaderIdentifier, withReuseIdentifier: "parallaxHeader")
layout.parallaxHeaderReferenceSize = CGSize(width: view.frame.size.width, height: 200)
layout.parallaxHeaderMinimumReferenceSize = CGSize(width: view.frame.size.width, height: 160)
viewForSupplementaryElementOfKind
functionoverride func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
if kind == StickyHeaderFlowLayout.parallaxHeaderIdentifier {
return collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "parallaxHeader", for: indexPath)
}
// Other views.
...
}
StickyHeaderFlowLayout
is released under the MIT license. See LICENSE
for details.