2012-06-15 196 views
2

我正在创建一个OS X应用程序与多个窗口。主窗口按预期出现在“窗口”菜单中。窗口不显示在窗口菜单

我使用initWithWindowNibName创建第二个NSWindow。当我打电话给showWindow时,它看起来如预期的那样。然而,该窗口并未显示在“窗口”菜单中(在“全部置于前面”和主窗口的名称下)。

我想:

[[NSApplication sharedApplication] addWindowsItem:[winController window] 
               title:@"The Window" 
               filename:NO]; } 

我也试过:

[[winController window] setExcludedFromWindowsMenu:NO]; 

这些都不似乎帮助。

如果你不能说,我是OS X的新手(但我相对熟悉Obj-C)。

回答

2

我想通了。我在NSResponder的init函数中创建窗口。不知何故,它发生得太早,sharedApplication尚未准备好。当我将窗口创建移动到awakeFromNib时,一切都按预期工作。

0

窗口编程指南指出:“该菜单自动列出具有标题栏并可调整大小的窗口,并且可以成为主窗口”。是否有一个原因,这个窗口不能成为主要的,例如,它是一个NSPanel

+0

我知道,那对我来说是如此令人困惑。它是通过转到文件>新建>新建文件并选择“用户界面”和窗口创建的Xib。然后我有我创建的NSWindowController的一个子类 [[MyNSWindowController alloc] initWithWindowNibName:@“MyWindowXIB”] – redfood