2013-06-24 58 views
1

我有一個選項卡式的iOS 5應用程序,我需要在某些選項卡被點擊並顯示時繼續顯示某個子視圖。在下面的模型中,我嘗試解釋我需要的東西:大多數標籤應該一直顯示相同的子視圖,用於顯示與應用程序的核心功能有關的事物的狀態,而不需要在內部顯示這樣的狀態指示器子視圖某些選項卡(例如,設置標籤)的:管理在選項卡式應用程序的多個選項卡中顯示的子視圖

iPhone_tab1iPhone_tab2iPhone_tab3

某些選項卡還可以允許通過視圖的層次進行導航,但子視圖必須保持可見即使用戶導航。我如何管理這種情況?我應該爲子視圖創建分離的.nibUIViewController,並將其作爲根UITabBarController的子視圖添加/刪除嗎?或者我應該從每個標籤欄視圖控制器中加載.nib,並處理該標籤的視圖控制器內的子視圖?還是有另一種更好的方法來處理這種情況?

在此先感謝

+0

將子視圖保留在appdelegate級別並將其添加爲UIWindow的子視圖。根據選定的標籤索引隱藏/取消隱藏。創建子視圖的委託併爲事件委派分配選定的選項卡控制器的視圖控制器實例。 – Amar

+0

@Amar你的意思是,在appDelegate中定義一個'@ protocol'並將它的委託賦值爲當前選中的選項卡的視圖控制器? – AppsDev

+0

在子視圖中定義'@ protocol',創建並分配委託'@ property'作爲當前選定選項卡的視圖控制器。這將允許所選標籤的視圖控制器響應子視圖事件。 – Amar

回答

0

分開子視圖類及其數據模型。子視圖應監聽數據模型中的更改並可能修改數據模型。每個選項卡都保留其自己的子視圖,但由於所有子視圖共享相同的數據模型,因此當您更新一個子視圖時,會更新全部子視圖。

+0

子視圖是否有自己的viewController? – AppsDev

+0

沒有必要。它就像溫度計,每當溫度變化時就會改變顯示。這些更改可以通過'NSNotifcation'通知。 –

相關問題