2011-11-22 182 views
0

在Cocoa中,我的應用程序的主窗口有一個按鈕。我怎樣才能做到這一點,當你點擊它,一個新的窗口將被生成,將焦點設置到這樣的窗口,使主窗口不能被點擊或互動?這個新窗口將有一個文本框和一個提交按鈕。您點擊它,窗口應該關閉並將文本框的數據發送回主窗口(並且它也會恢復焦點)。彈出窗口對話框

我發現這一點:How to open a new window on button click in Cocoa Mac Application?

但答案似乎不適合我的工作。功能showWindow似乎不被識別...

回答

0

您正在嘗試創建模式窗口。

您可以在http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/WinPanel/Concepts/UsingModalWindows.html查看文檔以獲取完整詳細信息。

假設你已經在你的筆尖創建的窗口,可以通過出口訪問它,你可以調用

[NSApp runModalForWindow:myWindowOutletVariable];

,使其模態像你想要的。

+1

...並記住模態窗口[應儘可能避免](http://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/AppleHIGuidelines/Windows/Windows.html#//apple_ref/DOC/UID/20000961-BACFBACB)。 Modal窗口在Mac OS X上不是預期的行爲。請改用[sheet](http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Sheets/Sheets.html)。 –

相關問題