自定义“撤消”Webview

时间:2014-12-17 09:23:26

标签: objective-c xcode cocoa webview first-responder

好的,这是情况。我有:

  • A Webview
  • 很多NSTextField s
  • 其他无关控件

通常,修改> 撤消菜单项链接到第一响应者的undo:操作。一切正常+你甚至可以在输入NSTextField时“撤消”。

现在,如果我想以不同的方式处理此“撤消”操作,仅适用于我的WebView。

我一直在考虑两种方法:

  • 将“撤消”项目链接到自定义操作,并检查谁是第一响应者。如果是Webview,那就做需要做的事情。否则,将事件“传递”给控件。 (但是,在尝试[FIRST_RESPONDER performSelector:@selector(undo:)]时,首先它似乎无法识别选择器,但最后但并非最不重要的是没有任何事情发生。)

  • 将“撤消”链接到第一个响应者的undo:(照例),继承Webview并添加自定义- (void)undo:(id)sender操作。在这种情况下,当webview处于活动状态时,“撤消”项目将显示为灰色,因此我无法做任何事情,甚至无法检查是否会调用自定义方法。


连连呢?你会怎么做?

我错过了什么?