Instance Method


Changes the collection view’s layout and notifies you when the animations complete.


func setCollectionViewLayout(_ layout: UICollectionViewLayout, animated: Bool, completion: ((Bool) -> Void)? = nil)



The new layout object for the collection view.


Specify true if you want to animate changes from the current layout to the new layout specified by the layout parameter. Specify false to make the change without animations.


The block that is executed when the layout transition finishes or is aborted by the user. This block takes the following parameter:


A Boolean indicating whether the transition completed successfully. This parameter is true if the transition finished and the new layout is installed. It is false if the user aborted the transition and returned to the old layout.


This method initiates a layout change programmatically, notifying you when the transition is complete. If you choose to animate the layout change, the animation timing and parameters are controlled by the collection view.

See Also

Changing the Layout

var collectionViewLayout: UICollectionViewLayout

The layout used to organize the collected view’s items.

func setCollectionViewLayout(UICollectionViewLayout, animated: Bool)

Changes the collection view’s layout and optionally animates the change.

func finishInteractiveTransition()

Tells the collection view to finish an interactive transition by installing the intended target layout.

func cancelInteractiveTransition()

Tells the collection view to abort an interactive transition and return to its original layout object.

Customizing Collection View Layouts

Customize a view layout by changing the size of cells in the flow or implementing a mosaic style.