0

iPhoneプログラミングは初めてです。そして、200 レベルのゲームを作ろうとしています。上部にナビゲーションバーが必要ないため、モーダルセグエを使用したいのですが、クロスディゾルブアニメーションも必要です。私がVCを持っているとしましょう。そして、私はVC 2を持っています

よし、VC 1 はモーダルに VC 2 にセグエする

そして、VC 2にボタンを付けて、VC 1に戻ります

では、プログラムは vc 2 をスタックからポップすることを知っていますか? または、メモリ リークを作成して、vc1 だけでなく、vc1、vc2、および vc1 がスタック上にあるようにしましたか。

また、vc1 から vc2、および vc2 から vc3 があり、vc3 に vc 1 に戻るボタンがある場合、プログラムは vc 2 と vc 3 の両方をスタックからポップしますか? または4がスタックになりますか?とにかく、モーダル セグエには実際の戻るボタンがないため (ナビゲーション プッシュ セグエのように、常にナビゲーション バーに戻るボタンがあります)、モーダル セグエにはスタックがありますか?

つまり、それは独立していますか?同様に、vc は vc2 にセグエし、vc2 は vc3 にセグエします。さて、vc 2 と 1 はスタック上にありますか? それともvc3だけですか?

申し訳ありませんが、私はこれらすべてについて少し混乱しており、ゲームの作成方法がわかりません。異なるレベルのビュー コントローラーが 100 個ある場合、モーダル セグエを行うには、正しくセグエするたびにスタックからポップ オフ VC をコーディングする必要があるため、スタック上に何百ものコントローラーが存在しないようにする必要があります。 ? そして、ビューコントローラーをポップオフする方法をプログラムに伝える方法さえ知りません。

4

1 に答える 1

2

したがって、モーダルセグエは、主にアプリケーションの通常のフローを中断するコンテンツを表示するためのものです。あなたが言うように、最初のView Controllerに戻るセグエがある場合、スタックから何もポップされないため、複数のViewControllerを順番に表示するのにはあまり適していません。

Appleが提供するViewControllerコンテナの1つを探して、ViewControllerのシーケンシャルリストを調べてどれが最適かを確認します。

ページビューコントローラーは、一度に1つまたは2つのビューコントローラーのみをロードするので便利です。iOS5以降、transitionStyleプロパティを「UIPageViewControllerTransitionStyleScroll」に設定して、ビューコントローラー間を左右(または上下)にスクロールできます。

Appleがこれに提供するビューコントローラが気に入らない場合は、独自のカスタムコンテナビューコントローラを作成する方法について、UIViewControllerのドキュメントを参照してください。このようにして、独自のスタックを定義し、必要に応じてスタックをポップして、ディゾルブトランジションを作成できます。

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html%23//apple_ref/doc/uid/TP40006926-CH3-SW81

于 2012-08-03T22:04:23.390 に答える