【发布时间】:2021-12-26 20:03:41
【问题描述】:
我需要一些帮助来构建这个 UI。我想要的是制作一个这个网格1
到目前为止,我尝试过的是这样,但是 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")
})
}
}
}
}
}
}
它看起来像这样:
【问题讨论】:
-
怎么可能是使用 LazyVGrid 卧底的自定义网格?!自定义意味着您应该从零开始构建 Grid。但是您的代码在项目中显示了 LazyVGrid 的用例!
-
我虽然你可以用它来构建一个自定义网格....
-
欢迎来到 Stack Overflow!请拨打tour 并查看:How do I ask a good question?。你没有问过问题。你希望你的网格是什么样子的?
-
感谢您的评论,但我已经附上了一张我的网格应该是什么样子的图片。
-
@FrederikHjorth - 这可能会有所帮助:stackoverflow.com/questions/69853681/…