SwiftUI Masonry
SwiftUI views that arrange their children in a Pinterest-like layout.
HMasonry
A view that arranges its children in a horizontal masonry.
Usage
ScrollView(.horizontal) {
HMasonry(rows: 2) {
//Masonry content
}
}
Parameters
rows: The number of rows in the masonry.placementMode: The placement of subviews in the masonry.horizontalSpacing: The distance between horizontally adjacent subviews, ornilif you want the masonry to choose a default distance for each pair of subviews.verticalSpacing: The distance between vertically adjacent subviews, ornilif you want the masonry to choose a default distance for each pair of subviews.content: A view builder that creates the content of this masonry.
VMasonry
A view that arranges its children in a vertical masonry.
Usage
ScrollView(.vertical) {
VMasonry(columns: 2) {
//Masonry content
}
}
Parameters
columns: The number of columns in the masonry.placementMode: The placement of subviews in the masonry.horizontalSpacing: The distance between horizontally adjacent subviews, ornilif you want the masonry to choose a default distance for each pair of subviews.verticalSpacing: The distance between vertically adjacent subviews, ornilif you want the masonry to choose a default distance for each pair of subviews.content: A view builder that creates the content of this masonry.
Masonry
A view that arranges its children in a masonry.
Usage
ScrollView(.vertical) {
Masonry(.vertical, lines: .adaptive(minSize: 140)) {
//Masonry content
}
}
Parameters
axis: The layout axis of this masonry.lines: The number of lines in the masonry.placementMode: The placement of subviews in the masonry.horizontalSpacing: The distance between horizontally adjacent subviews, ornilif you want the masonry to choose a default distance for each pair of subviews.verticalSpacing: The distance between vertically adjacent subviews, ornilif you want the masonry to choose a default distance for each pair of subviews.content: A view builder that creates the content of this masonry.
Requirements
- iOS 14.0+, macOS 11.0+, tvOS 14.0+ or watchOS 7.0+
- Xcode 12.0+
Installation
- Install with Swift Package Manager.
- Import
SwiftUIMasonryto start using.
Contact
@ciaranrobrien on Twitter.
