【问题标题】:Editing text in field editor disables ⌘S when menu item is customized自定义菜单项时,在字段编辑器中编辑文本会禁用 ⌘S
【发布时间】:2016-05-25 09:25:00
【问题描述】:

当我将“文件 > 保存 ⌘S”绑定到自定义 IBAction 时,它工作正常,除非我使用窗口的字段编辑器以编程方式进行编辑。 (NSTableHeaderCells, specifically.)

当光标在任何NSTextField 时,⌘S 仍然被激活。这就是我想要的。

当光标在字段编辑器中时(基于NSText),⌘S 被禁用。这只发生在我将MainMenu.nib 中的连接更改为“First Responder > myCustomSaveMethod:”时。

在这种情况下如何在字段编辑器中启用 ⌘S 保存?

【问题讨论】:

    标签: macos nstextview appkit


    【解决方案1】:

    发生这种情况的原因是“First Responder”是响应者链中当前视图之上的任何东西。手动调用的字段编辑器被插入到NSWindowController 下方的响应者链中。 myCustomSaveMethod: 在子视图控制器中实现,该控制器不是响应者链的一部分,因此字段编辑器无法使用方法定义。

    myCustomSaveMethod: 移动到表视图和字段编辑器共享的链中的响应者(例如NSWindowController)就像一个魅力。
    ¯\_(ツ)_/¯

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-27
      • 2011-03-25
      相关资源
      最近更新 更多