keyWindow
投稿するように設定したいNSPanelがありますNSWindowDidBecomeKeyNotification
が、メソッドを呼び出してもmakeKeyWindow
通知が投稿されません。以下は私のコードですが、何が問題なのかわかりません。
newPanel = [[NSPanel alloc]initWithContentRect:windowRect
styleMask:NSUtilityWindowMask
backing:NSBackingStoreBuffered
defer:FALSE];
[[NSNotificationCenter defaultCenter]addObserver:self
selector:@selector(test:)
name:@"NSWindowDidBecomeKeyNotification"
object:newPanel];
// Create a slider and add to the panel
NSSlider *slider = [[NSSlider alloc]initWithFrame:NSMakeRect(0, 0, windowRect.size.width, windowRect.size.height)];
[[newPanel contentView]addSubview:slider];
// Set window attributes
[newPanel setHasShadow:TRUE];
[newPanel setFloatingPanel:TRUE];
[newPanel setReleasedWhenClosed:TRUE];
[newPanel setHidesOnDeactivate:TRUE];
[newPanel setBecomesKeyOnlyIfNeeded:NO];
[newPanel makeKeyWindow];
[newPanel makeFirstResponder:slider];
[newPanel orderFront:sender];
[newPanel makeKeyWindow];
NSWindowDidBecomeKeyNotificationを呼び出すと、投稿され、-(void)test:(NSNotification*)aNotification
呼び出されるはずです。しかし、それは呼び出されていません。