Другой стиль заголовка раздела в ChildView - PullRequest
1 голос
/ 20 января 2020

Я использую Form, который дает мне следующий Section -Header-Style:

with form

Как ChildView, я хочу отобразить список с различными разделами. Тем не менее, заголовок раздела неверен / сломан и не является липким, как это должно быть Это должно выглядеть так:

enter image description here

Если я изменю Form на List, оба стиля заголовков станут липкими.

Как я могу иметь Form -Headers в ParentView, но List (sticky) заголовки в ChildView?

Вот пример кода:

struct ContentView: View {
    var body: some View{
        NavigationView{
            // change to List for different Section Header Style
            Form{
                Section(header: Text("Section Style 1")){
                    NavigationLink(destination: ChildView()){ Text("Go to Child") }
                }
            }
            .navigationBarTitle("Section Style")
        }
    }
}

struct ChildView:View{
    var items:[Item] = []
    init(){
        self.items = [Item(id:1), Item(id:2), Item(id:3), Item(id:4), Item(id:5), Item(id:6), Item(id:7), Item(id:8)]
    }
    var body: some View{
        List{
            Section(header:Text("Sticky Header Style")){
                ForEach(self.items, id:\.id){item in
                    Text(String(item.id))
                }
            }
        }
    }
}

struct Item {
    var id: Int
}

1 Ответ

1 голос
/ 20 января 2020

Вам нужно использовать PlainListStyle, как показано ниже

struct ChildView:View{
    var items:[Item] = []
    init(){
        self.items = [Item(id:1), Item(id:2), Item(id:3), Item(id:4), Item(id:5), Item(id:6), Item(id:7), Item(id:8)]
    }
    var body: some View{
        List{
            Section(header:Text("Sticky Header Style")){
                ForEach(self.items, id:\.id){item in
                    Text(String(item.id))
                }
            }
        }.listStyle(PlainListStyle()) // << here is a fix !
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...