我NSWindow
在 Interface Builder 中进行了设置。我已将 class of 设置File's Owner
为 my并将控制器的属性NSWindowController
链接到 my . 我的控制器实现.window
NSWindow
NSWindowDelegate
现在,在我的控制器中,我添加了以下内容:
- (void)windowDidLoad
{
[super windowDidLoad];
[self.window setDelegate:self];
}
- (void)windowDidBecomeMain:(NSNotification *)notification
{
NSLog(@"Did become main.");
}
仍然,-windowDidBecomeMain:
不叫。有人知道为什么是这样吗?
编辑:
试图从AppDelegate
启动时显示一个窗口。主笔尖(在 中声明Info.plist
)仅包含一个菜单项,该菜单项链接到AppDelegate
. 在应用程序委托中,我在状态栏上显示一个图标,当单击此图标时,我会从主 nib 显示菜单。在应用程序委托中,我还想显示一个窗口,该窗口应该分配一个窗口控制器来处理逻辑。我相信当这工作时,我会收到我的窗口通知。
现在,下面的代码没有显示窗口,我不知道为什么。
DemoWindowController *dwc = [[DemoWindowController alloc] initWithWindowNibName:@"DemoWindowController"];
[dwc showWindow:self];
请注意,这self
是应用程序委托。