2013-06-27 163 views
1

我可以用代碼顯示我的自定義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]; 

它的工作原理。但我需要非模態窗口。它必須顯示爲模態(見圖),並且是非模態的。

enter image description here

我試圖

TSAppDelegate* appDelegate = (TSAppDelegate*) [[NSApplication sharedApplication] delegate]; 
NSWindow* mainWindow = appDelegate.window; 

[[self window] setParentWindow: mainWindow]; 

[mainWindow addChildWindow: [self window] ordered: NSWindowAbove]; 

它可以作爲非模態,但顯示爲正常的彈出窗口。

可能嗎?

回答

3

看來你只是想要一個窗口在你的視圖下降,但不是模態。

而不是使用工作表,你可以使用一個單獨的視圖,你動畫進入和退出位置。

你必須自己做一些工作:設置正確的位置,動畫視圖,響應事件等。

相關問題