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

用UILexicon实现iOS 8键盘扩展中的自动更正
EN

Stack Overflow用户
提问于 2014-10-05 11:05:12
回答 1查看 3.9K关注 0票数 11

我见过这个问题问过几次,但似乎没有人有答案。我正试图在自定义键盘上创建一个自动更正功能,但我完全不知道该如何做。苹果公司给出了一些文档,但并不是很详细。我知道它与UILexicon数据有关,但我不知道如何处理它,以及如何使用它来纠正用户正在键入的文本字符串。

任何帮助都将不胜感激。

到目前为止,我发现的是:

代码语言:javascript
复制
let controller = UIInputViewController()

    controller.requestSupplementaryLexiconWithCompletion({
        lexicon in

        println(lexicon.description)

    })

但这是我所得到的。不知道从这里该怎么办。

EN

回答 1

Stack Overflow用户

发布于 2014-12-20 00:53:33

你在问一个非常困难的问题。简而言之,在iOS8上没有内置的对自动更正的访问;也无法访问iOS上允许系统执行诸如显示红色“可能错误”下划线效果的API,或者系统自动更正行为的其他方面,例如就地建议对话框(在iOS 7上,或者如果您没有显示建议条)或“将更正”蓝色背景(在iOS 8上)。

你做不到的事情:

就地误差指示器

就地自动更正对话框

建议栏自动校正指示器

您能做的就是从头开始编写自己的自动更正引擎,包括您自己的文本处理和分析以及您自己的用户界面习惯用法。要做到这一点,就必须有这样的限制:您不能在键盘边界之外绘制,并且不能修改屏幕上的任何其他内容。许多第三方键盘都是这样做的,比如明努姆斯威夫特基 (免责声明:我在minuum上工作),但这不是偶然的工作量。如果您对此感兴趣,最好的起点可能是内置的UITextChecker类,尽管自动更正最终是一个与拼写检查不同的问题。

只有在您已经实现了东西之后,UILexicon才是有用的;它真正提供给您的只是一个单词列表,您可以使用这些单词来补充您正在使用的任何字典,以及实现用户可能在其系统设置中添加的任何文本快捷方式。光靠它自己还不足以建立一个自动校正系统。

增编:如何编写拼写矫正器是Peter写的一篇很棒的小文章/教程,你可能会觉得很有趣,即使你不想写自动更正,我也会推荐它。

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

https://stackoverflow.com/questions/26202009

复制
相关文章

相似问题

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