ios - iOS:如何检测键盘更改事件
问题描述
Xcode 9.2,iOS 10.0+,swift4。
我正在开发一个用户输入英文字符UITextField
并将其转换为日文字符的项目。它工作完美。现在,我想允许用户直接从日文键盘输入日文字符。在这种情况下,我想知道键盘已从默认更改为另一种类型/语言。
那么,有什么功能或通知可以帮助我吗?
解决方案
您可以使用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
}
}
}
推荐阅读
- mysql - 从数据透视表 laravel 中检索数据(计数等(用户数据))
- javascript - 递归函数在express js中没有返回值?
- javascript - 如何以角度将stimulsoft报告js保存到服务器?
- php - 如何在文件名中获取序列号?
- comparator - 什么是比较器,grapesjs 中的 components().comparator
- php - 使用 wordpress 简码的可变产品 ID
- javascript - 在 json 对象中循环一个数组值并将其转换为单个字符串
- node.js - 将颜色十六进制转换为字符串
- python - 不和谐机器人可以回复调用机器人的消息也回复的消息吗?
- c++ - 将本地字符数组与原始字符串文字存储为类成员