0

iPadアプリで線形プロセス(ウィザードを考えてください)を表す必要があります。

原則として、UINavigationControllerを使用して、プロセスの各ステップで新しいコントローラーをプッシュし続けることができます。しかし、私がモデル化しているプロセスには逆方向にナビゲートする概念がないため、これはかなり非効率的であるように思われます。そのため、以前のすべてのビューは無意味に残り、リソースを消費します。

現時点では、1つの「マスター」ビューコントローラーにサブビューを追加および削除し、基本的にコンテンツを交換しています。これは機能しますが、かなり不格好に感じます。これを実現するためのより良い方法があることを願っています。

さらに、ビュー間にアニメーション化されたトランジションが必要です。(現在、beginAnimations / commitAnimationsを介してこれを機能させています)

更新:私の質問を明確にするために:ウィザードには通常、戻るボタンがあることを知っています。それは私がここで構築しているものではありません。
表示する必要のあるプロセスには、多くのステップが含まれる可能性があります(場合によっては、最大で30〜40程度)。したがって、39個の廃止されたViewControllerにRAMを使用させたくありません。

4

2 に答える 2

0

戻るボタンを表示しないようbackBarButtonItemに、各ビュー コントローラのnavigationItemを設定できますか?nil

于 2010-06-02T21:13:48.130 に答える
0

uinavigationcontrollerdelegate を拡張し、すべてのプッシュ イベントを現在のスタック サイズで確認できます。次に、目的のビュー コントローラーのみを含む新しい縮小配列に置き換えることができます。ところで、適切なメモリ管理を実装し、viewDidDisappear ですべてのリソースを解放する場合、OS が膨大な数の「空の」View Controller を管理することは問題ではないと確信しています。それが役に立てば幸い

于 2010-06-08T22:23:58.133 に答える