当我绑定"文件>保存⌘S"自定义IBAction
它工作正常,除非我使用窗口的字段编辑器以编程方式编辑某些内容。 (NSTableHeaderCell
s, specifically.)
当光标位于任何NSTextField
时,⌘S仍然处于激活状态。这就是我想要的。
当光标位于字段编辑器(基于NSText
)时,⌘S被取消激活。只有当我将MainMenu.nib
中的连接更改为" First Responder>时才会发生这种情况。 myCustomSaveMethod:"
在这种情况下,如何在字段编辑器中启用⌘S-saving?
答案 0 :(得分:0)
发生这种情况的原因是“第一响应者”是响应者链中当前视图之上的任何内容。手动调用的字段编辑器将插入到NSWindowController
下面的响应程序链中。 myCustomSaveMethod:
在子视图控制器中实现,该控制器不是响应者链的一部分,因此方法定义不可用于字段编辑器。
将myCustomSaveMethod:
移动到链中的响应者,表视图和字段编辑器共享(例如NSWindowController
)就像魅力一样。
¯\ _(ツ)_ /¯