objective-c - 基于 Cocoa 文档的应用程序在 Command W 上不执行任何操作

标签 objective-c cocoa macos keyboard-shortcuts

我希望它按照标准在 Command ⌘-W 上关闭。窗口上有一个关闭按钮并且已启用,因此我不确定是什么占用了关闭命令键盘快捷键。

如果有什么区别的话,内容 View 就是 WebView 。

我已经实现了windowWillClosewindowShouldClose但在调试期间按 Command ⌘-W 时,它们都不会被命中。

最佳答案

当您按 Command ⌘-W 时,屏幕顶部的文件菜单是否闪烁?这可能表明在关键事件进入正常响应者链之前是否有东西正在吞噬它。例如,我相信您的 web View 中的某些 javascript 可能会占用该事件。

通常,命令 ⌘-W 会发送到第一个响应者(通常是键盘焦点所在的控件),然后沿着响应者链发送。本文档可能会有所帮助:http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/EventOverview/EventArchitecture/EventArchitecture.html%23//apple_ref/doc/uid/10000060i-CH3-SW10

一些值得尝试的事情:

在 Web View 之外创建一个文本字段,并查看当该文本字段具有焦点时 Command ⌘-W 是否有效。这可能会涉及到 WebView 。

打开NSObjCMessageLoggingEnabled。 这会产生大量输出,但可以准确地显示按下 Command ⌘-W 后调用了哪些方法。

关于objective-c - 基于 Cocoa 文档的应用程序在 Command W 上不执行任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4811314/

相关文章:

objective-c - NSGradient 删除颜色的问题 - Cocoa/Objective-C

cocoa - 打印为 PDF 时使文本不可选择

objective-c - 如何在osx中​​创建静态库

javascript - Java 与 RWeka 包

objective-c - setApplicationIconImage - OS X

ios - 使用图像 I/O Objective-C 加载原始图像返回错误的分辨率

java - 如何在 java 中实现委托(delegate)模式(如在 objective-c 中)

iPhone Core 数据实体查找

objective-c - 使用大量 OR 运算符编写条件的更有效方法

objective-c - 比较 objective-c 中的有符号和无符号值