Как удалить нижнее заполнение по умолчанию из представления списка в SwiftUI
Я пытаюсь удалить нижнее заполнение в представлении списка, когда после него определяется другое представление, чтобы представление списка располагалось поверх другого. Без наложения. Кажется, что из списка создано дополнительное пространство, и я не уверен, как удалить его, чтобы достичь того, что я хочу. Вот что у меня есть.
List {
ForEach(0...2, id: \.self) { color in
Text("\(color)")
}.listRowInsets(EdgeInsets())
}
Rectangle().fill(Color.red)
Вот как это выглядит. Вы можете видеть, что между строкой 2 и красным прямоугольником есть промежуток. Я бы хотел, чтобы границы этих двух представлений прилегали друг к другу.
РЕДАКТИРОВАТЬ: Я пробовал встроить код в VStack, но это не устраняет белый пробел, который мы видим ниже.
Глядя на этот ответ , кажется, что упаковка списка в VStack устранит пробел, но это не из того, что мы видим здесь?
VStack(spacing: 0) {
VStack(spacing: 0) {
List {
ForEach(0...0, id: \.self) { number in
Text("1")
.listRowBackground(Color.blue)
Text("2")
}.listRowBackground(Color.gray)
}
}
VStack(spacing: 0) {
HStack(spacing: 0) {
Rectangle()
.fill(Color.red)
Rectangle()
.fill(Color.red)
}
HStack(spacing: 0) {
Rectangle()
.fill(Color.red)
Rectangle()
.fill(Color.red)
}
}
.aspectRatio(1.0, contentMode: .fill)
VStack {
List {
Text("1")
.listRowBackground(Color.purple)
Text("2")
.listRowBackground(Color.pink)
Text("3")
.listRowBackground(Color.blue)
Text("4")
.listRowBackground(Color.orange)
}
}
}
Я пробовал несколько вариантов VStacks с интервалом, равным 0, и не нашел, как удалить этот пробел, созданный представлением списка. Если добавлено больше строк, он начинает заполняться, но я пытаюсь разместить две строки без белого промежутка над красным прямоугольником.
Мы видим, что в представлении списка, выделенном ниже, есть этот пробел.