在 SwiftUI 中,TextField("", text: $input)
具有这种自动行为,当您按完成时,键盘将消失。这正是我想要的“完成”按钮。
但是,如果您使用 TextField("", text: $input, axis: .vertical)
完成按钮将变为换行,并且将不再关闭键盘。
我需要可滚动的 TextField 作为 TextField("", text: $input, axis: .vertical)
。同时,按完成按钮可以关闭键盘而不是换行。有谁知道如何实现它?谢谢!
最佳答案
我认为你必须在键盘上方添加一个按钮,称为工具栏按钮
希望这会有所帮助
struct ContentView: View {
private enum Field: Int, CaseIterable {
case username
}
@State private var username: String = ""
@FocusState private var focusedField: Field?
var body: some View {
NavigationView {
TextField("Username", text: $username)
.focused($focusedField, equals: .username)
.toolbar {
ToolbarItem(placement: .keyboard) {
Button("Done") {
focusedField = nil
}
}
}
}
}}
关于ios - 如何在按下完成时关闭 SwiftUI 键盘中的键盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74989806/