2012-10-01 87 views
0

此時我正在開發一個Cocoa應用程序,它由一個主NSWindowController組成,其中顯示所有的應用程序數據以及一些其他的NSWindowControllers,需要編輯或添加更多數據到主NSWindowController窗口。NSWindow忽略鼠標/鍵盤事件

我的問題是,當我需要這些處方添加或編輯數據,主要NSWindowController不能有任何類型的用戶互動,以防止在主NSWindowController的任何改變顯示的信息。

我已經嘗試過-(void)setIgnoresMouseEvents:(BOOL)flag但這種解決方案使主要NSWindowController完全透明的互動,使得任何意外點擊,任何窗口波紋管從而隱藏應用程序進行交互。

有沒有人知道更好的解決方案?

+0

請記住,你可以接受你自己的答案。請接受它:這將標記爲已回答的問題。 – Artemix

回答

2

我終於找到了我一直在尋找:

[NSApp runModalForWindow:(NSWindow *)aWindow]; 

這樣,我可以防止與母窗口的任何交互,直到我關閉子窗口,並做到:

[NSApp stopModal]; 

所以它再次變得活躍。