0
我想從我的程序中的.xib加載無邊框窗口。我可以通過重寫[[[NSWindow]] initWithContentRect:styleMask:backing:defer:]
如下與加載一個無國界的窗口:從視圖的xib加載無邊框窗口
- (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中加載窗口並顯示它,而不是創建一個窗口?
感謝您的幫助 - 儘管這不完全是我想要做的,這個代碼的示例項目幫助! – rick