他の多くの開発者と同様にUITabBarController
、ルートコントローラーとしてを使用するiPhoneプロジェクトを作成しました。タブビューでは、 UINavigationController
sを使用してリストから詳細ビューにドリルダウンします。そして、他の多くの開発者と同様に、これらのアプリをiPadに移行して、より大きな画面を利用できるようにする必要があります(さらに重要なことに、ユーザーにiPhone専用アプリの醜い「倍増」視覚化を使用させないようにします)。
AppleUISplitViewController
はこの正確なシナリオのために作成しました...一見。設定、iPod、iTunesなどで使用されているように見えますが、機能していないと文書化されているだけでなく、できちゃった結婚を強いられるとアプリがクラッシュする可能性があるため、これらのアプリケーションはいずれもUISplitViewController
内部で使用されていません。 UITabBarController
。
動物に関する架空のiPhoneアプリケーションを考えてみましょう。3つのタブがあります。「カテゴリ」(動物は簡単な方法で分類されます。おそらく「鳥」や「魚」などのカテゴリの2レベルの階層があります)、「検索」(標準UITableView
とを使用UISearchDisplayController
) 、および「ストーリー」は、動物についてのストーリーです(おそらく、カエルについてのストーリーと、l33tユニコーンに変わったコンピューターオタク馬についてのストーリーがあります)。
「カテゴリ」と「検索」はマージできる2つのタブですが、動物のリストを動物のストーリーとマージできるか、マージする必要があるかは明確ではありません。では、iPadでUISplitViewControllerを使用したい場合(検索が分割の左側の「ルート」に統合されている場合)、「ストーリー」ビューをどのように表示しますか?セグメント化されたコントローラーを使用していますか?上部または下部?分割の「ルート」または「詳細」ビュー?または、2つのボタン(「カテゴリ」と「ストーリー」)を表示し、ユーザーがタップした方の分割ビューを表示する「ホーム」画面(WebMDのiPadアプリなど)を使用する場合はどうでしょうか。または、上部または下部のツールバーですか?
[設定]、[メール]、[iPod]、[iTunes]、[連絡先]、[マップ]など、他のいくつかのアプリを調べてみましたが、1つのアプリケーションに2つの「異なる」種類の情報が表示されるアプリはありません。
ここでの一般的なアプローチは何ですか?ベストプラクティスはありますか?iPadプログラミングコミュニティが採用している一般的なパターンはありますか?
UISplitViewController
それとも、Appleが「ルート」である必要なしに、最終的にどういうわけか動作することを許可するのを待って、指を交差させますか?(それは決して起こらないかもしれません!)