我正在尝试从程序中的 .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 中加载窗口并显示它而不是此类创建窗口?