2011-03-01 106 views
0

如何使用我創建的第二個窗口,是否有方法在觸發IBAction事件時打開它,例如「觸摸」事件?從IBAction打開第二個窗口

+0

什麼樣的窗戶? NSWindows? UIWindows? X窗戶? MS Windows? WxWidget Windows?你在哪個平臺上?你使用什麼框架?什麼OS? – 2011-03-01 23:02:23

+0

標籤爲XCode ...不要以爲XCode可以在OSX以外的其他操作系統上運行... – Macmade 2011-03-01 23:07:51

+0

@Macmade Xcode是一個IDE,可以與任何**編譯器結合使用。如果您想爲Microsoft Windows編譯並且您有一個可在Mac OS X上運行但編譯爲Windows的編譯器,則Xcode可與該編譯器一起使用。 – 2011-03-01 23:10:04

回答

0

通常,您可以在單獨的XIB文件中創建窗口,並創建NSWindowController的子類,並將其設置爲XIB文件的文件所有者。

然後,你需要重寫init方法加載XIB文件:

- (id)init 
{ 
    if((self = [ super initWithWindowNibName: @"MySecondWindow" ])) 
    {} 

    return self; 

} 

然後,你只需要創建第二個窗口控制器的新實例,並顯示窗口:

MyWindowController * wc = [ MyWindowController new ]; 
[ wc showWindow: nil ]; 

這可以從您的IBAction方法完成。

+0

非常感謝您的工作很好沒有從IOS開發文檔中分離出來的,但它們有時會讓人困惑。 – 2011-03-02 20:44:50

0

只是爲了擴大在什麼Macmade說一點點:

我更喜歡在正式分配內存和初始化對象。

MyWindowController * wc = [[MyWindowController alloc] init]; 
[wc.window makeKeyAndOrderFront:self]; 
+0

我看到了...所以我更換變量> wc <。非常感謝你幫助我擺脫阿爾文。 – 2011-03-02 20:47:33