An open-source library for SwiftUI that makes creating grids easier and much cleaner
Layouts made simple
Lay out your data in the blink of an eye. Keep your code clean
GridView is a free, and open-source library for SwiftUI that makes creating grids easier and much cleaner.
- Improves code quality. Create a grid using
GridView
constructor - simply pass your data and we'll deal with the rest. Simple as never! - Designed for SwiftUI. While developing the library, we have used the power of SwiftUI to give you powerful tool to speed up your implementation process.
Getting Started
✋ Requirements
Platforms | Minimum Swift Version |
---|---|
iOS 14+ | 5.0 |
⏳ Installation
Swift Package Manager
Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the Swift compiler.
Once you have your Swift package set up, adding GridView as a dependency is as easy as adding it to the dependencies
value of your Package.swift
.
dependencies: [
.package(url: "https://github.com/Mijick/GridView", branch(“main”))
]
Usage
1. Call initialiser
To declare a Grid for your data set, call the constructor:
struct ContentView: View {
private let data = [SomeData]()
var body: some View {
GridView(data, id: \.self) { element in
SomeItem(element: element)
}
}
}
2. Customise Grid
Your GridView can be customised by calling configBuilder
inside the initialiser:
struct ContentView: View {
private let data = [SomeData]()
var body: some View {
GridView(data, id: \.self, content: SomeItem.init, configBuilder: { $0
.insertionPolicy(.fill)
.columns(4)
.verticalSpacing(12)
})
}
}
3. Declare number of columns
You can change the number of columns of an item by calling .columns of Item:
struct ContentView: View { ... }
struct SomeItem: View {
...
var body: some View {
...
.columns(2)
}
}
Try our demo
See for yourself how does it work by cloning project we created
License
GridView is released under the MIT license. See LICENSE for details.
Our other open source SwiftUI libraries
PopupView - The most powerful popup library that allows you to present any popup Navigattie - Easier and cleaner way of navigating through your app Timer - Modern API for Timer