SwiftUI
允许我们向键盘添加输入附件视图,这意味着当用户激活某些文本输入时,我们可以在那里显示自定义按钮。
这一切都是通过将 toolbar()
修饰符附加到应该拥有输入附件的任何视图来完成的。 创建工具栏项组时,使用 .keyboard
放置将此工具栏附加到键盘,如下所示:
@available(iOS 15.0, *)
struct ContentView: View {
@State private var name = "Taylor"
var body: some View {
TextField("Enter your name", text: $name)
.textFieldStyle(.roundedBorder)
.toolbar {
ToolbarItemGroup(placement: .keyboard) {
Button("Click me!") {
print("Clicked")
}
}
}
}
}
🚧 重要提示:在 Xcode 13 beta 1
中,这需要 NavigationView
才能工作。
实际上,这是使用 @FocusState
之类的东西在 UI
中的输入字段之间移动或完全隐藏键盘的好地方,如下所示:
@available(iOS 15.0, *)
struct ContentViewMore: View {
@State private var name = "Taylor Swift"
@FocusState var isInputActive: Bool
var body: some View {
NavigationView {
TextField("Enter your name", text: $name)
.textFieldStyle(.roundedBorder)
.focused($isInputActive)
.toolbar {
ToolbarItemGroup(placement: .keyboard) {
Spacer()
Button("Done") {
isInputActive = false
}
}
}
}
}
}