2014-07-17 45 views
4

我开发了一个IOS 8自定义键盘。我想给它“撤销”和“重做”功能,就像默认的系统键盘一样。我尝试过不同的方式,但无法找到一个好的解决方案。IOS 8:自定义键盘与撤消和重做按钮

我们可以用一个文本输入对象textDocumentProxy互动与方法

insertText 
deleteBackward 
documentContextAfterInput 
ocumentContextBeforeInput 

但是我无法找到实现“撤销”和“重做”功能的任何方式。

+1

你有没有发现这方面的任何解决方案?我也想知道。 –

回答

2

我认为我们可以实现这些功能(撤消,重做)

根据https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/Keyboard.html

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

我认为有很多情况下,textfield的内容发生了变化,您无法知道它何时发生了变化,它是如何变化的。如果我们不知道,我们也无法知道撤回到哪里。我想是这样。

我正在开发像您这样的自定义键盘扩展,我有很多问题。 (例如:我们如何才能知道当前光标获取当前所选文本...)

我的问题:Current text selection in CustomKeyBoardExtension(希望别人知道)