2012-01-11 75 views
1

抱歉,模糊的標題!包含UITableView的UINavigationController,然後是具有更多UITableView的UITabBarController

我想實現以下功能:用戶首先顯示包含UITableView的UINavigationController。當用戶點擊表格視圖中的單元格時,我想推入一個新視圖,其中包含一個UITabBarController(,不管當前可見的UIViewController都會保持可見)和一個UITableView,人們可以再次從中選擇一個單元格然後再次推送到UINavigationController。

如果用戶從UITabBar中選擇一個選項卡,我希望第一個屏幕(不包含UITabBar)成爲用戶可以返回的屏幕,而不是他們剛剛來自的選項卡。另外,如果用戶在任何選項卡上選擇了其中一個UITableView項目,我希望返回按鈕返回到之前顯示的屏幕(如同您期望的使用標準UINavigationController一樣)

我已經花了數小時試圖找到答案,我不能在任何地方!我希望我的解釋不會太模糊或混淆。

James。

回答

1

如果您想要的用戶體驗令人困惑,可以在這裏解釋一下,請想象一下用戶的感受!我會重新考慮預期的設計。

從視圖控制器編程指南:

使用一個標籤欄控制器還可以使用導航 控制器在一個或多個標籤中的應用。當在相同的用戶界面結合這兩種類型的 視圖控制器,標籤欄控制器 總是作爲包裝爲導航控制器。你永遠不 想在標籤欄控制器推到 導航控制器的導航堆棧。否則會導致一個不尋常的情況,即,同時在特定的視圖控制器處於 頂部導航堆棧的 標籤欄纔會出現。標籤欄被設計爲持久的,因此這種瞬態方法可能會讓用戶感到困惑。

這就是說,你大概能砍一些接近你在說什麼,但你需要寫一串代碼使用UITabBarControllerDelegateUINavigationControllerDelegate方法來處理導航和跟蹤任何你需要的狀態根據用戶操作知道您想要導航到的位置。很可能你會遇到一些複雜的代碼,維護和更糟糕的用法。

+0

感謝。我最終改變了視圖,以便UITabBar始終顯示,而我所說的第一個屏幕是在用戶第一次啓動應用程序時顯示爲模式視圖(它是爲用戶選擇一個供用戶使用的購物籃在其他觀點) – 2012-01-12 15:48:01

相關問題