Xcode9.2,iOS 10.0+,swift4。
我在一个项目中工作,其中用户在UITextField
中输入英语字符,并将其转换为日语字符。而且它运行得很完美。现在,我想允许用户直接从日语Keyboard.In输入日语字符。这种情况下,我想知道键盘是否从默认类型/语言更改为另一种类型/语言。
那么,有什么功能或通知可以帮助我吗?
发布于 2018-08-17 14:02:47
您可以使用UITextInputCurrentInputModeDidChange
通知来检测当前键盘语言何时更改。
NotificationCenter.default.addObserver(self, selector: #selector(inputModeDidChange), name: .UITextInputCurrentInputModeDidChange, object: nil)
@objc func inputModeDidChange(_ notification: Notification) {
if let inputMode = notification.object as? UITextInputMode {
if let lang = inputMode.primaryLanguage {
// do something
}
}
}
发布于 2019-05-25 17:38:45
在较新的Swift版本中,通知已重命名为UITextInputMode.currentInputModeDidChangeNotification
发布于 2018-08-17 14:02:22
注册以接收以下通知:
UITextInputCurrentInputModeDidChangeNotification
而且,只要键盘语言发生变化,您就会收到通知。您可以从UITextInputMode文档中获取更多信息。
https://stackoverflow.com/questions/51896904
复制相似问题