gpt4 book ai didi

objective-c - 启用和禁用通用窗口菜单命令

转载 作者:行者123 更新时间:2023-12-03 17:10:20 25 4
gpt4 key购买 nike

当您让应用程序打开一个窗口 (NSWindow) 时,该窗口名称后面的命令会出现在窗口菜单 下,如下所示,其中命令之一指向主应用程序窗口,另一个指向打开的窗口。

enter image description here

假设我知道用户将显示的窗口的名称,如何启用和禁用该命令?我认为以下内容不会起作用。

- (void)closeGenericWindow {
NSString *windowName = NSLocalizedString(@"controlListWindow",@"");
NSMenuItem *windowMenuItem = [[NSMenuItem alloc] initWithTitle:windowName action:nil keyEquivalent:@""];
[windowMenuItem setEnabled:NO];
}

我已经搜索了“[objective-c] [cocoa]禁用窗口。”,除了 this topic 之外,我没有找到任何相关内容。 ,这表明我在 header 中创建一个 IBOutlet 。但在用户实际选择打开相关窗口之前,命令本身并不存在。

万分感谢

最佳答案

可能有几种方法:

  • 首先,您可以将窗口的 excludedFromWindowsMenu 属性设置为 YES,以简单地从菜单中排除该窗口。
  • 同样,没有 title 的窗口也不会出现在该菜单中。
  • 最后,您可以覆盖 -canBecomeKeyWindow 以返回 NO,我认为这应该禁用该菜单。您可能需要替代或另外重写 -canBecomeMainWindow

关于objective-c - 启用和禁用通用窗口菜单命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34667724/

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