Layout

FlowLayout

Flow layout is the default layout used in CollectionKit. Is is similar to UIKit's UICollectionViewFlowLayout. It display cells one after another from left to right, top to bottom. Like UICollectionViewFlowLayout it support lineSpacing and interitemSpacing to adjust the spacing between items. It also supports justifyContent, alignItems, and alignContent to handle left over space.

WaterfallLayout

Pinterest-like layout. display few columns of item, each column has the same width.

ex.

WaterfallLayout(columns: 2)

RowLayout

Display a row of content. RowLayout has the extra functionality where items can fill up the remaining space in a row. Use this when you want some perticular items to fill the remaining space.

InsetLayout

Add extra spacing to a specific layout.

ex.

InsetLayout(FlowLayout(), insets: UIEdgeInset(top: 30, left: 0, bottom: 0, right: 0))

You can also use the shorthand method defined on CollectionLayout.

WaterfallLayout().inset(by: UIEdgeInset(top: 30, left: 0, bottom: 0, right: 0))

Inset layout also supports dynamic inset based on the collection view size. Just pass in a function that returns coresponding inset from a given size.

InsetLayout(WaterfallLayout()) { size in
    if size.width >= 768 {
        return UIEdgeInset(top: 50, left: 50, bottom: 50, right: 50)
    } else {
        return .zero
    }
}

TransposeLayout

Transpose the x axis with the y axis of a specific layout.

ex.

TransposeLayout(RowLayout())

gives a vertical column layout that supports flexible items.

Shorthand
RowLayout().transposed()

results matching ""

    No results matching ""