键盘扩展 - 确定用户是否进行了复制/剪切/选择

时间:2014-08-13 08:04:37

标签: ios8

在键盘扩展程序的UIInputViewController中,我可以通过textDidChange(textInput: UITextInput)收到任何更改通知,并使用self.textDocumentProxy.documentContextBefore/AfterInput获取当前文字。

当用户选择文字时出现问题'。 '之前'和'之后' "看到"只有选择前后的部分。

有没有办法知道用户是否触摸了textField中的任何Copy-Cut-Select(给定 - 我们无法从键盘扩展中访问该字段)?

类似的东西:

if(self.textDocumentProxy.someProperty == UIDocumentProxyTextCut)

或者知道用户采取了哪些UITextField动作(复制/剪切/选择)的其他任何方式?

1 个答案:

答案 0 :(得分:1)

我认为我们无法确定用户是否触及了复制/剪切/粘贴菜单

  

因为自定义键盘只能在其主视图中绘制   UIInputViewController对象,它不能选择文本。文字选择是   在使用键盘的应用程序的控制下。 如果该应用   提供编辑菜单界面(例如剪切,复制和粘贴),   键盘无权访问。自定义键盘无法提供   插入点附近的内联自动校正控件。

来源: https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/Keyboard.html

P / s:

  • 我看到self.textDocumentProxy.documentContextAfterInput总是NIL。谁知道为什么?
  • 我们如何知道光标在哪里为用户提供建议?