【发布时间】:2021-11-07 08:38:12
【问题描述】:
我正在尝试在 SwiftUI 中创建一个始终在文本输入字段上方具有标签的表单。
一个很好的例子是查看 iPhone 12 上的联系人。有两个独立的输入(以及其他输入)。分别是手机和笔记。
它们的外观和空间完全符合我的喜好。
无论我如何更改以下代码,我总是在顶部有一个很大的空间,并且字段本身在部分之间有很大的空间。
Form {
Section() {
VStack(alignment: .leading) {
Text("Field1")
TextField("...", text: $Field1)
}
.padding(EdgeInsets(top: 10, leading: 0, bottom: 10, trailing: 0))
}
Section() {
VStack(alignment: .leading) {
Text("Field2")
TextField("...", text: $Field2)
}
.padding(EdgeInsets(top: 10, leading: 0, bottom: 10, trailing: 0))
}
}
如果这里的表单标签是问题,最好将其删除并手动完成。 Apple 似乎确实希望您使用 Form 标签来实现交叉兼容性。就我而言,它适用于 iPad 和 iPhone。
【问题讨论】:
-
Form is an as is View 如果您不喜欢它的外观,您必须自己制作一个。
-
"Form is an as is View" ??
-
接受或保持原样。这是一个预设的外观。
-
你的回答毫无意义。你是说Form标签中没有办法控制Sections的间距吗?
-
是的……这是 Apple 提供的特定外观,
标签: swift forms swiftui spacing sections