2

標題非常詳細地描述了所有內容。在UINavigationController上設置UISegmentedControll的正確方法UINavigationBar全部位於UITabBarController內

問題在於處理UISegmentedControll回調(按下按鈕)。 如果所有的嵌套視圖的內容類型是相同的(即一些UITableViewControllers),那麼我可以切換dataSource'es並重新加載表。

但事實並非如此,我在那裏有3個非常不同的視圖,這些視圖允許基於NavigationControllers的進一步深入/交互。

所以我有這樣設置ATM的方式是有一個「容器」類,我把所有的UINavigationControllers英寸他們都共享相同和一個UISegmentedController,我重定向到容器視圖控制器的回調。這根本不太好。

此外,當用戶點擊標籤欄圖標時,導航控制器會彈出到根目錄,這是...空容器視圖。

這裏是什麼,我想實現一個畫面:

alt text http://img22.imageshack.us/img22/3076/picture1bk.png

回答

0

在我的應用程序之一,我有一個是從三個獨立NSMutableArrays數據填充一個表視圖。我有條件地設置cellForRowAtIndexPath中的單元格內容,並有條件地在numberOfRowsInSection中獲得3個不同的計數。雖然這不是特別要查找的內容,但您不需要具有3個不同的數據源,如最初示例中所述。

你的直覺是正確的。它看起來過於複雜。

如何使用一個NavigationController,只需在NavigationController.view上交換addSubview/removeFromSuperview?

+0

怎麼樣在彈出到根控制器(這是一個空視圖)的TabBar圖標上有沒有什麼明智的補救措施呢? 我會嘗試你提到的交換。 乾杯 – Kaspa 2010-01-22 13:21:27

0

我在最近的iPad應用程序中遇到過類似的功能要求,我使用的解決方案是在以下鏈接 - 本質上,我實現了一個'管理'視圖控制器,基於所選的添加/刪除子視圖分段控制的索引,正確處理事件。

我解決了導航控制器的問題,將'管理'視圖控制器作爲參數傳遞到子視圖視圖控制器中,並讓這些控制器回調到父視圖上以將其推入導航堆棧。

我特別喜歡的解決方案是,它讓我可以將每個段的相應視圖的代碼分開,而不會在單個重載視圖控制器中混亂。

詳情請看這裏:UISegmentedControl Best Practice

問得好隊友,希望有所幫助。

相關問題