2012-05-02 55 views
0

我是在MAC上編程的新手。我在iOS上完成了編程,但使用了故事板,因此不太熟悉之前使用的xib格式。單擊可可MAC時按鈕導航到不同的窗口

我想實現這個非常基本的,我不能弄清楚如何。

  1. 如何導航到不同的窗口?

  2. 如何設置按鈕的動作,即:如何設置按鈕單擊事件或按鈕滾動事件?

  3. 將按鈕從界面構建器鏈接到第一響應者或應用程序或文件所有者的含義是什麼?

  4. 我們是否必須爲每個xib設置類,就像我們在iOS的storyboard中所做的一樣?

非常感謝。

回答

2

如何導航到不同的窗口?

在Mac上,許多窗口可以在同一時間可見的,所以你不要將他們之間的這種定位,你給他們,並隱藏他們,也許給他們帶來正面等你做什麼取決於情況。

如何設置按鈕的動作即:如何設置按鈕單擊事件或按鈕滾動事件?

您可以通過控制單擊xib中的按鈕並拖動到要處理它的控制器對象來設置按鈕的操作。然後,您可以選擇一個IBAction方法以在點擊按鈕時執行(您必須首先在類的頭文件中定義操作)。要跟蹤鼠標懸停事件,請參閱NSView s -addTRackingRect:owner:userData:assumeInside:方法。這可能有幫助。

將按鈕從界面構建器鏈接到第一響應者或應用程序或文件所有者的含義是什麼。

這只是確定哪個對象獲取操作消息。

我們是否必須爲每個xib設置類,就像我們在iOS的storyboard中所做的一樣?

號任何對象都可以加載廈門國際銀行,使自己的擁有者

[NSBundle loadNibNamed: @"whatever" owner: objectThatWillOwnIt]; 

一些資源

蘋果Window Programming Guide

蘋果Sheet Programming Guide(張是中出現的窗口附加到其他窗口的頂部,例如打開和保存面板等。

Cocoa Programming for Mac OS X,亞倫Hillegass(我從本書的第一版中瞭解可可)。

+0

非常感謝解釋。我仍然不清楚如何製作物體所有者。你建議一些我可以學習MAC編程的地方嗎?我已經完成了基於VB的基於Windows的編程。它與Xcode完全不同。 –

+0

@Gaurav_soni:我添加了一些鏈接到Cocoa編程資源 – JeremyP

0

如果您的應用程序中有不同的XIB文件和控制器,請完全同意JeremyP。

如果你有一個簡單的應用程序,我建議保留1個窗口,並創建自定義視圖(可以在檢查器中找到)。

然後,您可以添加內容到這些自定義視圖,當你想在兩者之間切換,在您的應用程序,您可以鍵入:

[window setContentView: secondCustomView]; 

然後再改回去:

[window setContentView: firstCustomView]; 

有關良好的編碼習慣,請參閱JeremyP的答案。只是以爲我會分享我的2美分:)