Как создать несколько закрепленных представлений друг под другом в 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 определяет начальное заполнение текста.

0 ответов

Другие вопросы по тегам