Sticky Rows and Columns with Collection view In Swift

Updated 2 February 2021


What is Sticky Rows and Columns with Collection view In Swift?

UICollectionView implements a collection view that has sticky rows and columns and supports both vertical and horizontal scrolling using Swift. Using StickyLayout quick and simple. First import StickyLayout. You then have the option of creating an instance of StickyConfig, where you can specify which rows/columns you want to be sticky. Create an instance of StickyLayout with your StickyConfig as a parameter, and add it to your UICollectionView.

Let execute Sticky Rows and Columns with Collection view

Step 1. create a collection view in your main controller

and define collection view in your controller for example

create a grid layout of your collection view as StickyGridCollectionViewLayout

For now, let’s ignore the compiler’s warnings to better understand the logic flow.

  1. Remove all previously calculated attributes as they might be no longer relevant, and initialize offset variables.
  2. Iterate over all rows within a grid. When working with a grid, it is easier to think about cells in terms of rows in columns rather than items and sections. For this purpose, we will implement rowsCount and columnsCount(in:) later.
  3. Make preparations before we calculate attributes for the next row. Each row must begin with 0 positions, thus we need to reset xOffset. Attributes of each row are stored in an array.
  4. Iterate over all columns within a row.
  5. Calculate a frame of a cell. We are accumulating xOffset and yOffset to position the cell correctly within the grid. The size is received from the new method size(forRow:,column:) that will be implemented later.
  6. Lastly, the row attributes are appended to allAttributes that contains attributes for the whole grid.


Collection view data source and delegate methods

Define layout size of your collection view cell

 Define row count in the layout class

 Collection view flow layout methods

Put size of your Collection view Cell

You can see the output below

For more detail please click here

I hope this blog helped with any query please leave a comment to us and for more blogs please click here.


. . .

Leave a Comment

Your email address will not be published. Required fields are marked*


  • Pablo
    • Ranjit kumar
  • Start a Project

      Message Sent!

      If you have more details or questions, you can reply to the received confirmation email.

      Back to Home