I'm using GridItem
and LazyHGrid
to create a Calendar like view. I followed this post in an attempt to reduce the space between rows in my LazyHGrid
but the spacing between rows do not shrink. I believe I am missing a concept about using grid layout in SwiftUI.
How can I reduce the space between my Week
views in LazyHGrid
?
struct Week: View {
var startDay: Int
var endDay: Int
var rows: [GridItem] = [
GridItem()
]
var body: some View {
ScrollView(.horizontal) {
LazyHGrid(rows: rows, alignment: .top, spacing: 50) {
ForEach((startDay...endDay), id: \.self) { dayOfWeek in
Text("\(dayOfWeek)")
.font(.system(size: 20, weight: .semibold))
}
}
.padding()
}
}
}
struct Calendar: View {
var rows: [GridItem] = [
GridItem(spacing: 2),
GridItem(spacing: 2),
GridItem(spacing: 2),
GridItem(spacing: 2)
]
var body: some View {
ScrollView(.horizontal) {
LazyHGrid(rows: rows, alignment: .top) {
ForEach((1...4), id: \.self) { _ in
Week(startDay: 1, endDay: 7)
}
}
.frame(width: .infinity, height: 450)
}
}
}