I need some help building this UI. what I want is to make a this grid 1
What I have tried so fare is this, but the padding between Sets, reps, rest.
struct ProgramContainer: View {
var weight: String = "Weight"
@State var value = ""
private var columns: [GridItem] = [
GridItem(.flexible(minimum: 0, maximum: 40), spacing: 40),
GridItem(.flexible(minimum: 1, maximum: 40), spacing: 40),
GridItem(.flexible(minimum: 1, maximum: 40), spacing: 40),
GridItem(.flexible(minimum: 1, maximum: 40), spacing: 40)
]
var body: some View {
ScrollView {
VStack(alignment: .leading) {
Text("name")
.font(.title3).bold()
Divider()
LazyVGrid(
columns: columns,
alignment: .leading,
spacing: 20,
pinnedViews: [.sectionHeaders, .sectionFooters]
) {
Section {
ForEach(0...11, id: \.self) {index in
TextField("0", text: $value)
}
} header: {
HStack(spacing: 40, content: {
Text(weight)
Text("Reps")
Text("Sets")
Text("Rest")
})
}
}
}
}
}
}
and it looks like this:
