SkillAgentSearch skills...

WBCollectionViewLayout

Library used to provide different type of custom Layouts within 30 second of time

Install / Use

/learn @mwaqasbhati/WBCollectionViewLayout
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

WBCollectionViewLayout

It provides 4 different type of Custom layout for CollectionView.

| Two Cell Layout | Three Cell Left Layout | Three Cell Right Layout | Mix Layout | |---------------------------------|------------------------------|------------------------------|---------------------------------| |Demo|Demo|Demo|Demo |Demo|Demo|Demo|Demo

Contents

Requirements

  • iOS 9.0+
  • Swift 4.0

Installation

Manually

Download the Code and Copy the layout file -> WBCollectionViewLayout.swift into your project. That's it.

CocoaPods

WBCollectionViewLayout is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'WBCollectionViewLayout', :git => 'https://github.com/mwaqasbhati/WBCollectionViewLayout.git'

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Usage

  • Just Create a WBGridViewLayout object and Confirm to it's Delegate
let mlayout = WBGridViewLayout()
mlayout.delegate = self
collectionView.setCollectionViewLayout(layout, animated: true)

Note: Delegates methods are optional and in default case Mixture layout will be drawn but if you want more customization then you need to implement it's delegates

Two Cell Layout

func colectionView(_ collectionView: UICollectionView, numberOfItemsInRow row: Int) -> CellLayout {
   return .Two
}

Three Cell Left Layout

func colectionView(_ collectionView: UICollectionView, numberOfItemsInRow row: Int) -> CellLayout {
   return .ThreeLeft
}

Three Cell Right Layout

func colectionView(_ collectionView: UICollectionView, numberOfItemsInRow row: Int) -> CellLayout {
   return .ThreeRight
}

Mixutre Cell Layout

This Layout is the default one and you don't have to implement numberOfItemsInRow delegate.

Custom Cell Layout

  • If you want more customization in drawing the layout then you can optionally implement it's delegate methods given below which provides numberOfItemsInRow for each Row and size of each Row.
func colectionView(_ collectionView: UICollectionView, numberOfItemsInRow row: Int) -> CellLayout
func colectionView(_ collectionView: UICollectionView, sizeOfItemInRow row: Int) -> CGSize?

Tips

When you load data from service

In case you load data asynchronously please follow next steps:

when data is loaded invalidate layout as well as reload data on collection view.

collectionView.collectionViewLayout.invalidateLayout()
collectionView.reloadData()

Author

mwaqasbhati, m.waqas.bhati@hotmail.com

License

WBCollectionViewLayout is available under the MIT license. See the LICENSE file for more info.

Related Skills

View on GitHub
GitHub Stars109
CategoryDevelopment
Updated6mo ago
Forks9

Languages

Swift

Security Score

92/100

Audited on Sep 14, 2025

No findings