【发布时间】:2022-02-01 17:03:19
【问题描述】:
我正在尝试动态更改单个TextField 的键盘类型。也就是说,我有这样的东西:
struct ContentView: View {
@Binding var keyboardType: UIKeyboardType
@State var searchText = ""
var body: some View {
TextField("placeholder", text: $searchText).keyboardType(keyboardType)
}
}
现在,动态地,我希望键盘从一种键盘样式更改为另一种键盘样式,具体取决于 keyboardType 是什么。但是,我发现keyboardType 发生了变化,但软键盘没有。相反,键盘保持不变,只有在我关闭键盘并重新启动后,它才会显示不同的东西。
我看到有一个way to wrap UITextField 以便键盘动态更新。但我想知道/希望在 SwiftUI 中有一种方法可以做到这一点。也许有办法访问UITextView 的reloadInputViews() 方法?任何帮助将不胜感激。
【问题讨论】: