Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 海关;撤销;对于Webview_Objective C_Xcode_Cocoa_Webview_First Responder - Fatal编程技术网

Objective c 海关;撤销;对于Webview

Objective c 海关;撤销;对于Webview,objective-c,xcode,cocoa,webview,first-responder,Objective C,Xcode,Cocoa,Webview,First Responder,好的,情况是这样的。我有: AWebview 大量的NSTextFields 其他无关控制 通常情况下,编辑撤消菜单项链接到第一响应者的撤消:操作。而且一切正常+您甚至可以在键入NSTextField时“撤消” 现在,如果我想以一种不同的方式处理这个“撤消”操作,只针对我的WebView,该怎么办 我一直在考虑两种方法: 将“撤消”项链接到自定义操作,并检查谁是第一响应者。如果是Webview,那么做需要做的事情。否则,将事件“传递”给控件。(但是,当尝试[第一响应程序执行选择器:@sel

好的,情况是这样的。我有:

  • A
    Webview
  • 大量的
    NSTextField
    s
  • 其他无关控制
通常情况下,编辑撤消菜单项链接到第一响应者的
撤消:
操作。而且一切正常+您甚至可以在键入
NSTextField
时“撤消”

现在,如果我想以一种不同的方式处理这个“撤消”操作,只针对我的WebView,该怎么办

我一直在考虑两种方法:

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

  • 将“撤销”链接到第一响应者的
    Undo:
    (与往常一样),对Webview进行子类化,并添加自定义
    -(void)Undo:(id)sender
    操作。但是,在这种情况下,当webview处于活动状态时,“Undo”项将灰显,因此我无法执行任何操作,甚至无法检查是否将调用自定义方法


建议?你会怎么做


我遗漏了什么?

我想这就是答案:

另请参考以下内容: