- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我看到这个问题已经被问过几次了,但是似乎没有人有答案。我正在尝试在自定义键盘上创建自动更正功能,但我完全不知道该怎么做。 Apple 提供了一些文档,但不是很详细。我知道它与 UILexicon 数据有关,但我不确定如何处理它以及如何使用它来更正用户键入的文本字符串。
如有任何帮助,我们将不胜感激。
到目前为止我发现了什么:
let controller = UIInputViewController()
controller.requestSupplementaryLexiconWithCompletion({
lexicon in
println(lexicon.description)
})
但这就是我所得到的。不确定从这里开始做什么。
最佳答案
您在问一个非常困难的问题。简而言之,在 iOS8 上没有内置的自动更正功能;也无法访问 iOS 上允许系统执行诸如显示红色“可能错误”下划线效果或系统自动更正行为的其他方面的 API,例如 in-放置建议对话框(在 iOS 7 上,或者如果您没有看到建议栏)或“将更正”蓝色背景(在 iOS 8 上)。
你不能做的事情:
就地错误指示器
就地自动更正对话框
建议栏自动更正指示器
您可以做的是从头开始编写您自己的自动更正引擎,包括您自己的文本处理和分析以及您自己的用户界面习惯用法。这一切都必须在您无法在键盘边界之外绘制的限制下完成,并且您无法修改屏幕上的任何其他内容。许多第三方键盘可以执行此操作,例如 minuum和 swiftkey (免责声明:我在 minuum 上工作)但这是一项非偶然的工作。如果你有兴趣玩这个,一个好的开始可能是内置的 UITextChecker类,尽管自动更正最终是一个不同于拼写检查的问题。
UILexicon 只有在您已经实现了一些东西后才有用;它真正为您提供的只是一个单词列表,您可以使用这些单词来补充您正在使用的任何词典,以及实现您的用户可能已在其系统设置中添加的任何文本快捷方式。它本身不足以构建自动更正系统。
附录: How to Write a Spelling Corrector是 Peter Norvig 的一篇很棒的小论文/教程,您可能会觉得有趣,即使您不尝试编写自动更正,我也会推荐它。
关于swift - 使用 UILexicon 在 iOS 8 键盘扩展中实现自动更正,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26202009/
我试图继承 UILexicon 以便我可以在 init 部分创建自己的条目。但是,条目数组是只读的。如何在键盘扩展 (iOS 8) 中为自定义预测栏创建自己的词源? 最佳答案 Apple 似乎并未将
如何在 Objective-C 中使用 UILexicon?我发现 Apple 提供的文档非常无用。 它有什么作用?它会返回字典或单词的正确拼写吗?还是我提供一个像“hellllo”这样的词并将其与正
我看到这个问题已经被问过几次了,但是似乎没有人有答案。我正在尝试在自定义键盘上创建自动更正功能,但我完全不知道该怎么做。 Apple 提供了一些文档,但不是很详细。我知道它与 UILexicon 数据
我是一名优秀的程序员,十分优秀!