與其他許多開發人員一樣,我創建了使用UITabBarController
作爲根控制器的iPhone項目,使用UINavigationController
的選項卡視圖從列表向下鑽取到詳細視圖。和其他許多開發者一樣,我需要將這些應用程序遷移到iPad,以便他們利用更大的屏幕(更重要的是,不要強迫用戶使用僅用於iPhone的應用程序的醜陋的「雙倍」可視化效果)。將基於標籤欄的iPhone項目移植到iPad
蘋果公司爲此確切場景創建了UISplitViewController
......看似。我之所以這麼說,是因爲雖然我看到它在設置,iPod,iTunes等中使用,但這些應用程序在UITabBarController
內部都沒有使用UISplitViewController
,因爲它不僅被記錄爲不工作,而且如果這兩個應用程序被強制爲霰彈槍結婚。
考慮一個關於動物的假想iPhone應用程序。它有三個選項卡:「類別」(其中動物按照一些簡單的方法進行分類 - 也許我們有一個包含「鳥類」和「魚類」類別的兩級層次結構),「搜索」(使用標準UITableView
和UISearchDisplayController
)和「故事」,這些故事是關於動物的故事(也許有一個關於青蛙的故事,另一個關於電腦書呆子馬變成了獨角獸)。
在「類別」和「搜索」是可以合併兩個選項卡,目前還不清楚,你可以或應該與故事有關動物的合併動物列表。因此,儘管您可能想在iPad上使用UISplitViewController(將搜索集成在分割的「根」,左側),但您如何展示「Stories」視圖?你使用分段控制器嗎?上還是下?拆分的「根」或「細節」視圖?或者,您可以使用顯示兩個按鈕(「類別」和「故事」)的「家庭」屏幕(如WebMD的iPad應用程序),然後顯示用戶點擊的任何分割視圖。或頂部或底部的工具欄?
我試着看過其他幾個應用程序,包括設置,郵件,iPod,iTunes,聯繫人,地圖等,但他們都沒有在一個應用程序中呈現兩種「不同」類型的信息。
這裏的一般方法是什麼?有沒有最佳做法? iPad編程社區採用的任何一般模式?
還是我等待並且交叉我的手指,Apple以某種方式最終允許UISplitViewController
工作而不要求它是「根」? (這可能永遠不會發生!)
+1的l33t獨角獸... – Jasarien 2010-08-24 12:09:41