2010-06-21 154 views
1

在我的iPhone應用程序中,我設置了一個名爲Main View的默認空白視圖,其中各個子視圖將針對應用程序的不同部分加載。就像我使用工具欄在子視圖之間切換一樣。這種情況下,在MainView控制器中,我可以將IBActions掛鉤到工具欄中的按鈕,這樣當按下按鈕時,MainView會爲其本身添加不同的子視圖。以編程方式在子視圖的控制器中更改子視圖

但是在我的情況下,我需要告訴MainView從子視圖中更改其子視圖。因此,這裏有兩個姐妹子視圖,每個都有自己的控制器和廈門國際銀行,將被加載的MainView的子視圖: - StartView - FormView控件

在StartView,一些動畫和歡迎的東西后,按鈕會觸發攝像機圖像選擇器。一旦圖像選擇器返回圖像,我需要告訴MainView刪除StartView並添加FormView。

這可能是漫長的一天或我的iPhone OS新的結果,但我堅持讓我的頭正確的方式來設置我的對象/控制器。

+0

你的意思實際子視圖即主視圖持有StartView和FormView在其子視圖屬性數組?或者,您是否在視圖控制器層次結構的意義上,如在選項卡或導航控制器中。 – TechZen 2010-06-21 23:30:37

+0

實際子視圖 - 主視圖在其子視圖屬性數組中保存了StartView和formView。在這種情況下不使用tabbar或導航控制器構造,因爲我不需要MainView具有任何UI元素。 – Jeof 2010-06-21 23:49:50

回答

0

一次只能有一個活動視圖控制器。 (nav和tabbar控制器不控制視圖,它們控制其他控制器。)在這種情況下,您將擁有一個將MainView作爲視圖屬性的控制器。它將添加StartView和formView作爲MainView的子視圖。

但是,這不是一個好的設計。它將通過強制它處理許多視圖來重載MainView控制器。最好使用隱藏的導航控制器或tabbar。對於幾乎所有可以想象的界面佈局,控制器層次結構都可以從用戶的角度創建幻想。沒有必要創建一個模仿視覺效果的邏輯結構。

從你的描述,你可能只需要一個單一的視圖/視圖 - 控制器對:設置FormView的控制器打開攝像機視圖它顯示FormView控件之前。當相機被解散時,它會自動恢復到formView。沒有大驚小怪,沒有麻煩。

+0

謝謝 - 一個導航控制器做的伎倆,我只是在我可以刪除默認的UI東西的事實消隱。 – Jeof 2010-06-22 18:37:49

相關問題