Ios8 键盘扩展-查看用户是否复制/剪切/选择

Ios8 键盘扩展-查看用户是否复制/剪切/选择,ios8,Ios8,在键盘扩展中,在UIInputViewController中,我可以通过textDidChange(textInput:UITestInput)获得任何更改的通知,并使用self.textDocumentProxy.documentContextBefore/AfterInput获取当前文本 当用户“选择文本”时出现问题。“before”和“after”仅“查看”选择前后的零件 有没有办法知道用户是否触摸了文本字段中的任何复制剪切选择(给定-我们无法从键盘扩展访问该字段) 比如: if(self

在键盘扩展中,在
UIInputViewController
中,我可以通过
textDidChange(textInput:UITestInput)
获得任何更改的通知,并使用
self.textDocumentProxy.documentContextBefore/AfterInput
获取当前文本

当用户“选择文本”时出现问题。“before”和“after”仅“查看”选择前后的零件

有没有办法知道用户是否触摸了文本字段中的任何复制剪切选择(给定-我们无法从键盘扩展访问该字段)

比如:

if(self.textDocumentProxy.someProperty == UIDocumentProxyTextCut)

或者以任何其他方式了解用户执行了哪个
UITextField
操作(复制/剪切/选择)?

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

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

来源:

p/s:

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

无法访问文本字段并不意味着无法通知您。事实上,正是您“无权访问”的同一文本字段通过委托通知您编辑已发生/将要发生。此外,
textDocumentProxy
可以告诉您比“ContextBefore/AfterInput”更多的信息。另外,
self.textDocumentProxy.documentContextAfterInput
并不总是
nil
。如果你在句中移动这本书,你应该在它后面找到正文。我愿意。