プログラムで .xib からボーダレス ウィンドウを読み込もうとしています。[[[NSWindow]] initWithContentRect:styleMask:backing:defer:]
次のようにオーバーライドすることで、ボーダレス ウィンドウを読み込むことができます。
- (id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag {
self = [super initWithContentRect:contentRect styleMask:NSBorderlessWindowMask backing:bufferingType defer:flag];
if (!self) {
return nil;
}
[self setOpaque:NO];
[self setHasShadow:YES];
[self setLevel:NSFloatingWindowLevel];
[self setBackgroundColor:[NSColor clearColor]];
[self setAlphaValue:1.0];
// Ignore events
[self setIgnoresMouseEvents:YES];
return self;
}
を含む別のメソッド[self orderFront:self];
が呼び出されると、ウィンドウが表示されます。ただし、このメソッドが呼び出されたときに表示するウィンドウが作成された別の .xib ファイルがあります。ファイルの所有者を NSApplication として設定し、ウィンドウ自体は前述のコードを含むクラスです。[self orderFront:self];
でメソッドを呼び出すときに、このクラスがウィンドウを作成する代わりに、ウィンドウを xib にロードして表示するにはどうすればよい ですか?