在键盘扩展程序的UIInputViewController
中,我可以通过textDidChange(textInput: UITextInput)
收到任何更改通知,并使用self.textDocumentProxy.documentContextBefore/AfterInput
获取当前文字。
当用户选择文字时出现问题'。 '之前'和'之后' "看到"只有选择前后的部分。
有没有办法知道用户是否触摸了textField中的任何Copy-Cut-Select(给定 - 我们无法从键盘扩展中访问该字段)?
类似的东西:
if(self.textDocumentProxy.someProperty == UIDocumentProxyTextCut)
或者知道用户采取了哪些UITextField
动作(复制/剪切/选择)的其他任何方式?
答案 0 :(得分:1)
我认为我们无法确定用户是否触及了复制/剪切/粘贴菜单
因为自定义键盘只能在其主视图中绘制 UIInputViewController对象,它不能选择文本。文字选择是 在使用键盘的应用程序的控制下。 如果该应用 提供编辑菜单界面(例如剪切,复制和粘贴), 键盘无权访问。自定义键盘无法提供 插入点附近的内联自动校正控件。
P / s:
self.textDocumentProxy.documentContextAfterInput
总是NIL
。谁知道为什么?