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
我是 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