Как игнорировать вставки в форме SwiftUI

#swiftui

#SwiftUI

Вопрос:

Я пытаюсь игнорировать автоматические вставки в форме SwiftUI, чтобы изображение заполняло всю ширину экрана. Мне удалось сделать это, создав поддельный раздел и добавив отрицательное заполнение, но это похоже на взлом. У кого-нибудь есть лучшее предложение?

Ожидаемый результат

 struct ContentView: View {
    var body: some View {
        NavigationView{
            Form{
                Section(header:
                            Image("stockPhoto1")
                            .resizable()
                            .frame(height: 200)
                            .padding(.horizontal, -20)
                            .listRowInsets(.init())
                ){}

                ForEach(0..<5){ section in
                    Section(header: Text("Section (section)")){
                        ForEach(1..<Int.random(in: 3...8)){ row in
                            Text("Row (row)")
                        }
                    }
                }
            }
            .navigationBarTitleDisplayMode(.inline)
            .navigationTitle("Form")
        }
    }
}
  

Комментарии:

1. Ни в коем случае, это дизайн формы. Вместо этого вы можете использовать список с некоторыми из доступных стилей списка, например. GroupedListStyle.

2. Я попытался использовать список, и, похоже, это не сработало. Можете ли вы привести пример?

3. Если вы не возражаете, чтобы изображение оставалось на месте и прокручивалась только форма, вы можете создать VStack с изображением и формой под ним.