私のアプリでビューを管理するのが難しく、何らかの説明をお持ちいただければ幸いです。私の考えでは、プログラムは次のように階層構造になっています。サブビューを連続して追加および削除する
BNG_AppViewController:UIViewController
-calls-
NameListSelectionController:UIViewContoller
-calls-
GameViewController:UIViewController
-calls-
NameResultsController:UIViewController
インターフェースからXIBsを使用して構築されたサブビューのすべてビルダはfolと同じ方法で呼び出されますlowingは: - 通常の呼び出しをトリガーするボタンを使用して
NameListSelectionController *NameListSelectionControllerScreen = [[NameListSelectionController alloc] initWithNibName:@"NameListSelectionController"
bundle:nil];
[self.view addSubview:NameListSelectionControllerScreen.view];
私は私のビュー階層を上に移動したい
、私は、コントローラクラスの中から、次のと同一の呼び出しを使用しています。[self.view removeFromSuperview];
この方法を使用すると、階層的に階層を上下に移動できます。
しかし、私が階層構造をバックアップするときは、第2レベルのコントローラ(上記のNameListSelectionController)をスキップし、第3レベルから第1レベルに直接移動してください。
これまでのところ、階層から下に向かって私の3番目のレベルを呼び出すときに、2番目のレベルのビューを階層から削除しようとしましたが、無駄です。
[self.view removeFromSuperview];
gameScreen = [[GameViewController alloc] initWithNibName:@"GameViewController" bundle:nil];
[self.view addSubview:gameScreen.view];
しかし、私は、コードの2行目と3行目に明らかな影響を与えることなく、私の第一レベルでのバックアップ終了しているようです。私はまた、結果のない、階層の2番目のレベルをバックに送信しようとしました。
私のプログラムの構造を修正する方法の大きな絵のアイデアを含め、正しい方向へのポインタをありがとうと思います。私は上記の線形方法でユーザーを指示する必要がありますが、私はプログラムをそのように構築する必要があるかどうかわかりません。
私はサブビューとremoveFromSuperview呼び出しですべてのドキュメントを読みましたが、私が求めていたことを実行するためのメソッドを見なかったか、私が読んだことを理解できませんでした。私はNavigationControllerを使用する可能性について検討しましたが、これは私が何をしようとしていたか(あるいは私がそれらを見ることができなかったかもしれない)何らかの利点を提供していないようです。
あなたの主な問題は何ですか? NameListSelectionController:UIViewContollerをスキップすると元に戻りますか? – Hiren
はい。それがまさに私が直面している重要な問題です。混乱させて申し訳ありません。 – GWTiger