当您让应用程序打开一个窗口(NSWindow
)时,该窗口名称后面的命令会出现在Window menu
下面,如下所示,其中一个命令指向主应用程序窗口,另一个指向打开的窗口。
如果我知道用户要显示的窗口的名称,我该如何启用和禁用该命令?我想以下情况不会起作用。
- (void)closeGenericWindow {
NSString *windowName = NSLocalizedString(@"controlListWindow",@"");
NSMenuItem *windowMenuItem = [[NSMenuItem alloc] initWithTitle:windowName action:nil keyEquivalent:@""];
[windowMenuItem setEnabled:NO];
}
我正在搜索' [objective-c] [cocoa] disable window.
'除了this topic之外,我找不到任何相关内容,这表明我在标题中创建了IBOutlet
。但是在用户实际选择打开相关窗口之前,命令本身并不存在。
Muchos thankos
答案 0 :(得分:1)
可能有几种方法:
excludedFromWindowsMenu
属性设置为YES
,以便从菜单中排除窗口。title
的窗口也不会显示在该菜单中。-canBecomeKeyWindow
以返回NO
,我认为应禁用该菜单。您可能需要替代或另外覆盖-canBecomeMainWindow
。