1

Cocos2D を数か月使用しています。私が使う:

MyCCScene *sceneToRun = [MyCCScene node];
[[CCDirector sharedDirector] replaceScene:sceneToRun];

これにより、新しいシーンがロードされ、メモリから前のシーンが削除され、新しいシーンが表示されます。かなり簡単です。

質問: UIKit にこれに似たものはありますか?

- モーダル セグエは古い ViewController をメモリに保持しますが、その目的は異なります。

-プッシュ セグエは UINavigationControllers でのみ機能します。

私が行く方法は、自分の子 ViewControllers とメモリを好きなように処理する独自の Container ViewController を実装することだと思います。http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006926-CH3-SW81

しかし、私は完全にはわかりません。もっと簡単な方法はありませんか?これは、このような単純で明白なことに対して、非常にやり過ぎのように見えます。

4

1 に答える 1

0

素敵な解決策を見つけたかもしれません。UINavigationController を使用し、その viewContollers プロパティ (UIViewControllers のスタック) を手動で管理する必要があります。新しい UIViewController がロードされた後 (またはロードされる前) に、古い UIViewController をスタックから削除して、メモリからパージすることができます。

この投稿は役に立ちまし た:UINavigationControllerからビューをポップして、1回の操作で別のビューに置き換えるにはどうすればよいですか?

このようにして、一度にUIViewControllerがメモリ内にある場合にのみプログラムフローを作成し、新しいUIViewControllerが必要なときにそれらを置き換えることができます.

于 2012-12-10T14:37:54.013 に答える