正确的方法使NSView成为所有撤消/重做操作的第一响应者,而不管活动/聚焦视图/控制

时间:2015-01-05 19:07:30

标签: objective-c cocoa nsdocument nsundomanager document-based

我有一个基于标准文档的应用程序,其主窗口有两个NSView。

  1. 即使NSView2是焦点视图,是否可以使NSView1成为撤消/重做操作的第一响应者。
  2. 是否可以将Edit menuitem的上下文永久设置为NSView1的上下文。例如。如果NSView2中的NSTextField具有焦点并且打开了编辑菜单项,默认情况下它在NSTexfield的当前状态的上下文中打开,是否可以覆盖?
  3. 如果有可能,那么如何实现这一目标?

    下进行。

1 个答案:

答案 0 :(得分:0)

好的,找到了解决方案,在NSResponder中有一个名为validateProposedFirstResponder的方便的方法。通过一点机动,人们应该能够达到预期的效果。