Как устранить пробелы вокруг элементов LazyHGrid?
Я установил интервал на
LazyHGrid
и
GridItems
на 0, но все еще есть интервал в вертикальном направлении. Почему это? Как убрать этот пробел?
struct ContentView: View {
let strs: [String] = ["aa", "", "bbbb"]
let hgRows: [GridItem] = [GridItem(.fixed(60), spacing: 0), GridItem(.fixed(60), spacing: 0)]
var body: some View {
VStack(spacing: 0) {
Text("Stuff at top").padding().frame(maxWidth: .infinity).background(Color.blue.opacity(0.5))
Divider()
ScrollView(.horizontal) {
LazyHGrid(rows: hgRows, spacing: 0) {
ForEach(1..<10) { i in
Text("B\(i).\(strs[i % strs.count])")
.padding().border(Color.gray, width: 1)
}
}
.padding(0)
.background(Color.green.opacity(0.5)) // Give HGrid a green background so I can see where it is.
}.layoutPriority(1)
Divider()
Spacer().layoutPriority(2)
}
}
}
1 ответ
Регулируя
GridItems
, можно устранить вертикальное пространство между элементами:
let hgRows: [GridItem] = [GridItem(.fixed(51), spacing: 0), GridItem(.fixed(51), spacing: 0)]
Это явно не лучшее решение, но именно так я это исправил. Надеюсь, это ответит на ваш вопрос.