在我的用例中,我必须将 a 放在 aTextField
中可用项目的下方List
,通过使用它TextField
,我们可以将项目添加到List
.
最初,没有列表项(items
数组为空)
这是一个最小的,可重现的例子
import SwiftUI
struct ContentView: View {
@State var itemName = ""
@State var items = [String]()
var body: some View {
NavigationView {
List {
ForEach(self.items, id: \.self) {
Text($0)
}
VStack {
TextField("Item Name", text: $itemName)
.textFieldStyle(RoundedBorderTextFieldStyle())
Button(action: {
self.items.append(self.itemName)
self.itemName = ""
}) {
Text("Add Item")
}
}
}
.navigationBarTitle(Text("Title"))
}
}
}
我们可以通过在 中输入一些内容TextField
并单击“添加项目”来向列表中添加一个新项目Button
,我们添加的每个项目都会TextField
出现在 中的 TextField 上方List
。因此(就像 Apple 的提醒应用程序一样)TextField
。List
如果应用程序有很多项目(超过 7 个项目),TextField
当键盘出现时,键盘会覆盖,我们看不到TextField
.
检查此屏幕截图:
我想知道的是如何自动滚动列表(向上移动视图)以查看 TextField
键盘何时出现(如在 Apple 的提醒应用程序中)。