list - SwiftUI 初学者:带有表单和列表的 VStack
问题描述
我是 SwiftUI Layout 的初学者(不是编码),我有一个问题
这里的代码:
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 {
$0.name < $1.name
}
ForEach(sortedItems) { item in
Text(item.name)
.font(.headline)
}
.onDelete(perform: removeItems)
}
}
}
}
基本上是一个由Form和List组成的VStack,但是我不明白顶部的空白空间来自哪里以及Form和List之间的空白。
谢谢马可
解决方案
正如@Asperi 在他评论中的链接中指出的那样,您可以使用VStack(spacing: 0)
删除Form
and之间的空格List
。
对于导航栏链接和标题之间的空间,看起来您正在相互嵌套NavigationView
项目。
调用此视图的视图(是否称为“Impostazione”?)具有NavigationView
因此您的子视图(“Aggiungi Dispensa”)不需要它自己的视图NavigationView
推荐阅读
- typescript - 打字稿中`import x = require('x')`和`const x = require('x')`之间的区别
- jquery - 如何在单击 div 时在 div 内的隐藏按钮上触发事件
- python - Django 表单 - SelectMultiple 更改可见值
- json - 将动态 Json 对象解析为 VB 类
- mysql - 如何减少sql语句的查询时间,mysql
- java - 我应该如何将这些对象存储在 SQLite 数据库中?
- javascript - WebApplications,如何在设备处于睡眠状态时通知用户
- android - 无法解决依赖关系:com.squareup.retrofit2:retrofit:2.3.0
- internet-explorer - IE 未在页面刷新时为 HTTPS 加载字体
- ios - MKMapCamera 无法缩放到正确的高度