Swinflate aims to encorporate a set of collection view layouts which provide a better and even more fluid experience in collection vieews . It is amongst the goals of this project to make it ruthlessly simple for you to use it in your application.
- Swift 4.2
- Xcode 10+
- iOS 11.0+
Swinflate is available for installation via Swift Package Manager and Carthage.
To install via Carthage, paste the next line your Cartfile:
github "https://github.com/VladIacobIonut/Swinflate" ~> 1.0.3
This layouts are designed to work with horizontal collection view of a single row and multiple columns.
- Before using it, please import it in the class where your collectionView lies.
import Swinflate
- To implement it, just pass an instance of one of the layout classes enumerated above to the constructor of the collectionView.
collectionView = UICollectionView(frame: .zero, collectionViewLayout: SWInflateLayout())
let stackLayout = SWHorizontalStackLayout()
stackLayout.hasStackEffect = true
collectionView = UICollectionView(frame: .zero, collectionViewLayout: stackLayout)
Note
- This layout allow you to enable or disable the stack effect by setting the
hasStackEffect
property ( this property isfalse
by default). - Both layouts allow you to enable or disable the paging effect by setting the
isPagingEnabled
property ( this property istrue
by default).
- You should also return the item size for your cells in the
sizeForItem
method of theUICollectionViewDelegateFlowLayout
.
extension CustomLayoutViewController: UICollectionViewDelegateFlowLayout {
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: cellWidth, height: cellHeight)
}
}