我可以通过代码将我的自定义NSWindowController显示为模式窗口:
TSAppDelegate* appDelegate = (TSAppDelegate*) [[NSApplication sharedApplication] delegate];
NSWindow* mainWindow = appDelegate.window;
[NSApp beginSheet: [self window]
modalForWindow: mainWindow
modalDelegate: NULL
didEndSelector: NULL
contextInfo: NULL];
int acceptedModal = (int)[NSApp runModalForWindow: [self window]];
[NSApp endSheet: [self window]];
[[self window] close];
它起作用了。但我需要非模态窗口。它必须看起来像是模态的(见图),并且是非模态的。
我试过了
TSAppDelegate* appDelegate = (TSAppDelegate*) [[NSApplication sharedApplication] delegate];
NSWindow* mainWindow = appDelegate.window;
[[self window] setParentWindow: mainWindow];
或
[mainWindow addChildWindow: [self window] ordered: NSWindowAbove];
它作为非模式工作,但显示为正常的弹出窗口。
有可能吗?
发布于 2013-06-27 10:45:06
看起来你只是想要一个窗口从你的视线上落下来,而不是模式。
与使用图纸不同,您可以只使用一个单独的视图,您可以将动画移入和移出位置。
你必须自己做一些工作:设置正确的位置,动画视图,响应事件,等等。
https://stackoverflow.com/questions/17340940
复制