【发布时间】:2012-12-31 00:45:52
【问题描述】:
我有一个自定义的 NSWindow 类,它有以下方法:
- (void)setupWindowForEvents{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowDidResignKey:) name:NSWindowDidResignMainNotification object:self];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowDidResignKey:) name:NSWindowDidResignKeyNotification object:self];
}
-(void)windowDidResignKey:(NSNotification *)note {
NSLog(@"notification");
[self close];
}
我打电话给[_window setupWindowForEvents];,但windowDidResignKey 永远不会被调用。
这就是我调用我的 NSWindow 的方式:当单击状态栏项目时,我 makeKeyAndOrderFront 并且窗口显示在状态栏项目的正下方,如下所示:
任何想法为什么当窗口失去焦点时我没有收到任何通知?我已经使用了NSWindowDidResignMainNotification 和NSWindowDidResignKeyNotification 来查看其中任何一个是否有效,但没有一个有效。
【问题讨论】:
标签: objective-c macos cocoa nswindow nsnotifications