2016-12-03 82 views
0

我们正在努力键盘扩展和我遇到的Microsoft Office Word中这个奇怪的bug,其中来自super.textDocumentProxy.documentContextAfterInput收到的文本(我们还没有看到其他地方尚未...)只是与当前光标位置不同步。键盘的延长documentContextAfterInput同步

我不明白那是怎么回事,甚至可能的,但结果是相当一致的。

  1. 我们写:“汤姆”
  2. 选择的建议“明天”
  3. 选择下一个建议“他”

在步骤3中的光标应该在开始“明天|” (光标标有“|”),但documentContextAfterInput将是“\ 0”。现在,我可以处理,但如果我继续从插入文本建议我们从文本,而不是它实际上应该是什么(零或空)获得1个随机字符。问题是afterInput与当前光标位置完全不一致。我甚至试过将光标移动到文本的开始,然后到结束(相同的结果)。

幸运的是,BeforeInput方法完美的作品...

我们哪能解决办法,解决或解释任何建议,将不胜感激。

编辑: 我开始怀疑这是由于字符编码或微软回车以某种方式被破坏。

回答

0

多个问题是这个原因。首先:Microsoft使用某种隐藏字符。第二:iOS应用程序对如何处理movecursor有一些控制,这可能与keyboard-extension期望它的工作方式相冲突。这通常不会带来任何主要问题,因为大多数键盘扩展都非常简单,但如果您喜欢我们进行复杂的文本分析和处理,您将获得一些错误行为。