首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iOS 8键盘扩展中实现自动更正

在iOS 8键盘扩展中实现自动更正
EN

Stack Overflow用户
提问于 2014-08-30 06:18:59
回答 2查看 3.4K关注 0票数 5

我正在创建一个自定义的iOS 8键盘作为一个宠物项目。

我试图尽可能准确地复制系统键盘,但要从头开始构建它。

我基本上已经完成了这件事。我遇到的最后一个障碍是如何在键盘上添加自动更正功能。有没有一种方法可以让自动更正像在常规系统键盘上那样工作?

UILexicon documentation是相当稀疏的。

编辑:

在这方面取得了一些进展。UILexicon的requestSupplementaryLexiconWithCompletion:方法似乎只从我的设备的联系人和键盘快捷键返回结果。然后,我继续查看如何自动更正NSString,并找到了UITextChecker class,它从iOS 3.2开始就可以使用。

使用这种方法,我可以实现对单个单词的自动更正建议,但我仍然在研究添加上下文感知自动更正的能力(例如,将“北极猴子”更正为“北极猴子”)。

EN

回答 2

Stack Overflow用户

发布于 2014-08-30 09:41:05

从文档中看,UILexicon似乎是帮助您创建自己的自动更正,UILexicon有一堆包含字符串对的UILexiconEntry条目,条目包含一个userInput字符串,我假设它是用户输入的字符串,以及documentText,我假设您应该用它来替换输入。您可以使用UIInputViewController中的func requestSupplementaryLexiconWithCompletion(_ completionHandler: ((UILexicon!) -> Void)!)来获取此UILexicon。

我假设UIInputViewController知道已经向documentProxy写入了什么,因为它是中继这些消息的人,这就是它如何知道用户输入了什么,以及如何将什么放入UILexicon中。

这是我从阅读文档中收集到的,我没有对它进行测试,尽管测试它来验证它应该不是很难。

我希望它能帮上忙

丹尼尔

票数 1
EN

Stack Overflow用户

发布于 2015-04-22 22:10:15

查看这个简单但非常有效的自动更正实现http://norvig.com/spell-correct.html

对于自动完成,你可以实现一个trie。

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

https://stackoverflow.com/questions/25577002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档