【发布时间】:2020-06-05 01:07:26
【问题描述】:
我在 SwiftUI 中有一个用于添加记录的模式表。模式表使用具有多个 TextField 元素的表单。现在我想在表单末尾添加一些空间,与表单背景颜色相同(灰色)。
将 padding() 添加到最后一个 TextField 会导致所有 TextField 都具有填充。然后我尝试添加一个 Text("").hidden().padding(.bottom, 500) 作为最后一个表单元素,但是空间随后被白色背景色填充。
更新:如果您在表单视图中放置一个带有填充的间隔器,您会得到以下结果(背景为红色以进行演示):
这是代码:
import SwiftUI
struct ContentView: View {
var body: some View {
HStack {
Text("Hello, World!")
}
.sheet(isPresented: .constant(true), content: { SheetView() }
)
}
}
struct SheetView: View {
var body: some View {
Form {
TextField("Demo Field", text: .constant("KK"))
Spacer()
.padding(.bottom, 500)
.background(Color(.red))
}
}
}
我要查找的内容与 Apple 的“通讯录”应用中的内容相同。如果您转到“新联系人”并向下滚动到表单的末尾,则会有相当多的空间:
【问题讨论】:
-
尝试添加 Spacer()
-
不幸的是,这不起作用。请查看我的更新说明。
-
我在下面发布了一个更好的解决方案以及您的更新说明。