首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >iOS:如何检测键盘更改事件

iOS:如何检测键盘更改事件
EN

Stack Overflow用户
提问于 2018-08-17 13:51:37
回答 5查看 2.7K关注 0票数 1

Xcode9.2,iOS 10.0+,swift4。

我在一个项目中工作,其中用户在UITextField中输入英语字符,并将其转换为日语字符。而且它运行得很完美。现在,我想允许用户直接从日语Keyboard.In输入日语字符。这种情况下,我想知道键盘是否从默认类型/语言更改为另一种类型/语言。

那么,有什么功能或通知可以帮助我吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2018-08-17 14:02:47

您可以使用UITextInputCurrentInputModeDidChange通知来检测当前键盘语言何时更改。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
        }
    }
}
票数 3
EN

Stack Overflow用户

发布于 2019-05-25 17:38:45

在较新的Swift版本中,通知已重命名为UITextInputMode.currentInputModeDidChangeNotification

票数 2
EN

Stack Overflow用户

发布于 2018-08-17 14:02:22

注册以接收以下通知:

UITextInputCurrentInputModeDidChangeNotification

而且,只要键盘语言发生变化,您就会收到通知。您可以从UITextInputMode文档中获取更多信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51896904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文