gpt4 book ai didi

objective-c - 在没有菜单栏的应用程序中关闭 Cocoa 中最前面的窗口

转载 作者:行者123 更新时间:2023-12-03 16:38:52 34 4
gpt4 key购买 nike

我正在 Cocoa 中构建 StatusBar 应用程序,因此我没有菜单。没有菜单意味着没有“文件 > 关闭”菜单项,该菜单项通常监听快捷键“Command + W”。

从我的 StatusBar 应用程序中,用户可以打开一个窗口来更改首选项,这就是我遇到问题的地方:用户只能通过用鼠标按红点来关闭窗口。然而,像所有应用程序一样,我也想支持“Command + W”快捷键。

目前我看到解决此问题的两种可能性:

  1. 在窗口上放置一个不可见的按钮来监听快捷方式。
  2. 为快捷方式添加应用程序范围的监听器并手动联系窗口。

这两种解决方案都感觉像是对系统的滥用。第一个解决方案可能会导致意外行为(如果用户偶然点击不可见按钮,窗口将关闭),而第二个解决方案仍然会导致蜂鸣声,因为窗口不知道它处理这样的快捷方式。

有没有一种优雅的方法来解决这个问题?由于 View 应该知道要做什么,因此仅使用 Interface Builder 的解决方案将是完美的。如果没有优雅的方法,有没有办法增强提到的解决方案?

提前致谢!

最佳答案

如果您将"file">“关闭”菜单项放在 MainMenu Nib 中,即使菜单不可见,该快捷方式也将起作用。

如果您选择为快捷方式实现应用程序范围的监听器,则可以通过从 block 返回 nil 来消除蜂鸣声,这样原始事件就不会被传递。

关于objective-c - 在没有菜单栏的应用程序中关闭 Cocoa 中最前面的窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6083745/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com