Som*_*Guy 10 swift ios8 ios8-extension
我已经看过这个问题已被问过几次,但似乎没有人有答案.我试图在自定义键盘上创建一个自动更正功能,但我完全迷失了如何这样做.Apple提供了一些文档,但不是很详细.我知道它与UILexicon数据有关,但我不知道如何处理它以及如何使用它来纠正用户输入的文本字符串.
任何帮助将不胜感激.
到目前为止我发现了什么:
let controller = UIInputViewController()
controller.requestSupplementaryLexiconWithCompletion({
lexicon in
println(lexicon.description)
})
Run Code Online (Sandbox Code Playgroud)
但就我而言,这就是我的意思.不知道该怎么做.
cmy*_*myr 10
你问的是一个非常棘手的问题.简而言之,iOS8上没有内置的自动更正权限; iOS上也无法访问API,允许系统执行诸如显示红色"可能错误"下划线效果或系统自动更正行为的其他方面(例如就地建议对话框)(在iOS 7上) ,或者如果您没有可见的建议栏)或"将更正"蓝色背景(在iOS 8上).
你不能做的事情:
就地错误指示器
就地自动更正对话框
建议栏自动更正指示器
您可以做的是从头开始编写自己的自动更正引擎,包括您自己的文本处理和分析以及您自己的用户界面惯用法.这一切都必须通过您无法在键盘边界之外绘制的限制来完成,并且您无法修改屏幕上的任何其他内容.许多第三方键盘都是这样做的,例如minuum和swiftkey(免责声明:我在minuum上工作),但这是非偶然的工作量.如果你有兴趣玩这个,一个好的起点可能是内置的UITextChecker类,虽然自动更正最终是一个与拼写检查不同的问题.
UILexicon只有在你已经实现了之后才有用; 它真正为您提供的是一个单词列表,您可以使用它来补充您正在使用的任何字典,以及实现您的用户可能在其系统设置中添加的任何文本快捷方式.它本身并不足以构建自动校正系统.
附录: 如何编写拼写校正器是Peter Norvig 写的一篇很棒的小文章/教程,你可能会发现它很有趣,即使你不想写自动纠正,我也会推荐.
归档时间: |
|
查看次数: |
3222 次 |
最近记录: |