Как создать несколько закрепленных представлений друг под другом в SwiftUI?
Я пытаюсь создать многоуровневый элемент прокрутки, в котором каждый слой закрепляется при прокрутке списка. В настоящее время закрепленные элементы прикрепляются друг к другу при прокрутке вниз. См. скриншоты текущего и желаемого поведения.
Это текущая структура представления:
ScrollView {
LazyVStack(pinnedViews: [.sectionHeaders]) {
ForEach(data.firstLayeredViews) { firstLayer in
Section {
LazyVStack(pinnedViews: [.sectionHeaders]) {
ForEach(firstLayer.secondLayeredViews) { secondLayer in
Section() {
LazyVStack(pinnedViews: [.sectionHeaders]) {
ForEach(secondLayer.thirdLayeredViews) { thirdLayer in
Section() {
LazyVStack {
ForEach(thirdLayer.contents) { content in
Text("Content")
}
}
} header: {
GridCellHeader(title: "Layer 3", level: .thirdLayer)
}
}
}
} header: {
GridCellHeader(title: "Layer 2", level: .secondLayer)
}
}
}
} header: {
GridCellHeader(title: "Layer 1", level: .firstLayer)
}
}
}
}
Параметр level GridCellHeader определяет начальное заполнение текста.