iPad の技術デモを行っていますが、深刻な技術的問題に直面しています。
UISplitViewController を活用するアプリのコンセプトがありますが、アプリ全体のプライマリ コントローラーとしては使用しません。
アプリ フローは、次のように大まかに説明できます。
ホーム画面 (UIViewController) リスト -> 詳細 "カタログ" (UISplitViewController) スーパー詳細画面 (UIViewController ですが、SplitView の子でもあると考えられます)。
問題は、ホームとカタログの間の流れにあります。UISplitViewController ビューが UIWindow に追加されると、ヒストリック フィットが発生し始めます。
問題は次のように要約できます。
UISplitView がポップオーバー ビューを生成すると、親ビューにラッチされているように見えます。UIWindow サブビューから UISplitView を削除すると、CoreGraphics 例外が発生し、ビューの削除に失敗します。
他のビュー (おそらく、この場合は戻ってきたホーム画面) を追加すると、それらは自動回転しません。代わりに、CG 例外のために削除に失敗した UISplitView が代わりに回転に応答し続けます。ただ「対処」できない恐ろしいレンダリング バグを引き起こします。この時点で、ビューを追加したり、SplitView を再追加したりすると、一連のレンダリング バグが発生します。
次に、単にSplitViewを「下」ビューとして存在させたままにして、その上にホーム画面を追加および削除し続けようとしましたが、SplitViewが方向変更呼び出しを支配しているため、これは失敗し、ホーム画面は回転しません。 [homeScreen becomeFirstResponder] を呼び出した場合
SplitView を UINavigationController のような階層に配置することはできません。完全なランタイム エラーが発生するため、そのオプションは対象外です。モーダルは見栄えが悪く、とにかく落胆します。
現時点での私の推測では、この問題に対処する唯一の適切な方法は、何らかの方法で UISplitViewController を「武装解除」して、未処理の例外をスローせずに親ビューから削除できるようにすることですが、方法がわかりません。
私が必要とすることを正確に実行するアプリを見たい場合は、iPad アプリ ストアの GILT Groupe をチェックしてください。彼らはそれをやり遂げましたが、カスタムビュー遷移セット全体をプログラムしたようです.
助けていただければ幸いです。