編集:この回答をここに残しますが、完全に確実に機能しません。以下のコメントを参照してください。
NSWindow をサブクラス化し、オーバーライドすることができますdeminiaturize:
。
@interface MyWindow : NSWindow
@end
@implementation MyWindow
- (void) deminiaturize:(id)sender
{
NSLog( @"window about to deminiaturize!" );
[super deminiaturize:sender];
}
@end
おそらく、これが発生したときに、ウィンドウではなくウィンドウ デリゲートに何らかのアクションを実行してもらいたいので、次のようにすることができます。
- (void) deminiaturize:(id)sender
{
id<NSWindowDelegate> delegate = [self delegate];
if( [delegate respondsToSelector:@selector(windowWillDeminiaturize)] ) {
[delegate performSelector:@selector(windowWillDeminiaturize)];
}
[super deminiaturize:sender];
}