SwiftUI 初学者:VStack with Form and List

Beginner with SwiftUI: VStack with Form and List

我是 SwiftUI 布局的初学者(不是编码方面的),我遇到了问题

这里是代码:

var body: some View {
    NavigationView {
        VStack {
            Form {
                TextField("Nome", text: $name)
            }
            .navigationBarTitle("Aggiungi Dispensa", displayMode: .inline)
            .navigationBarItems(trailing: Button("Aggiungi") {
                if self.name.count > 0 {
                    let item = DispItem(name: self.name)
                    self.dispense.items.append(item)
                }
                self.name = ""
            })
            
            List {
                let sortedItems = dispense.items.sorted {
                    [=10=].name < .name
                }
                ForEach(sortedItems) { item in
                            Text(item.name)
                                .font(.headline)
                }
                .onDelete(perform: removeItems)
            }
        }
    }
}

基本上就是一个由Form和List组成的VStack 但是我不明白顶部的空space和Form和List之间的白色space是哪里来的。

谢谢 马可

正如@Asperi 在他的评论中的 link 中指出的那样,您可以使用 VStack(spacing: 0) 删除 Form 和 [=12= 之间的 space ].

对于导航栏 link 和标题之间的 space,您似乎在彼此嵌套 NavigationView 个项目。

调用此视图的视图(是否称为“Impostazione”?)有一个 NavigationView 因此您的 child 视图(“Aggiungi Dispensa”)不需要它自己的 NavigationView