2012-04-16 42 views
0

我無法弄清楚如何在我的XCode項目中的不同自定義視圖之間進行更改。XCode /可可Mac更改視圖

我有我的主筆尖文件,由1個主窗口和5個自定義視圖組成。主窗口由5個按鈕組成,所有這些都需要連接到不同的視圖。因此,例如我點擊按鈕1,它關閉當前菜單並加載自定義視圖1.

我無法弄清楚這將如何完成。

我想我會爲5個不同的按鈕和5個自定義視圖創建IBOutlets,並將它們連接到不同的方法,如openView1,openView2,其中每個方法都會關閉當前菜單並加載自定義視圖?

任何人都可以幫助我的代碼明智,我會如何實現這一目標?

任何幫助非常感謝。

謝謝

回答

3

所以基本上你想要一個標籤視圖?

您可以在Interface Builder中製作NSTabView。將選項卡的數量設置爲5.然後在裏面佈置你想要的視圖的內容。

如果您很高興使用標準系統提供的視覺外觀爲您的選項卡,那麼你就完成了。但是,如果您想要自定義按鈕來切換選項卡,請繼續閱讀。

自己選定的選項卡視圖,設置它的風格Tabless:

enter image description here

這使得按鈕消失的標籤。這意味着視圖之間的切換需要通過代碼完成。首先,您需要一個代表您的標籤視圖本身的IBOutlet:連接它。然後寫一個IBAction爲方法openView1:,這可能是這個樣子:

- (IBAction)openView1:(id)sender 
{ 
    [tabView selectTabViewItemAtIndex:0]; 
} 

讓自己的按鈕(即坐在你窗前的某處標籤視圖外,否則你只能從一個訪問標籤!)並將其連接到此操作。

這可能是最簡單的方式來使用這樣的接口。根據您想要如何構建代碼,有很多方法可以對其進行改進。例如,這聽起來像是你從iOS開發過來的,你會爲每個標籤製作一個UIViewController。那麼,在Mac上有NSViewController,所以你可以使用類似的模式:但是如果你這樣做,你需要編寫一些代碼來處理你的視圖控制器的視圖到你的標籤視圖。它不會像iOS上那樣通過Interface Builder自動發生。 This tutorial應該讓你開始如果你選擇去那條路線。

+0

我沒有想過使用製表符視圖,這是一種解決問題的權利嗎?無論哪種方式,它很好,很簡單,並完成工作,所以非常感謝! – Cristian 2012-04-16 13:08:14

+0

這不是一個真正的解決方法,它只是處理交換一組視圖的最簡單方法。選項卡視圖可以用於此目的。 – 2012-04-16 13:09:33