2

私はこのようなシナリオを持ってMovieViewControllerいます: 私のアプリのイントロとして機能するものがあります (これはストーリーボードの初期ビュー コントローラーです)。MenuViewController次のいずれかによって名前が付けられた別のView Controllerに移動します。

  • 映画終了
  • 検出されたタッチ

したがって、シーケンスは次のようになります: MovieViewController-----> MenuViewController ---> (次に、異なるビューに対応する 3 つのボタン)

ここでの私の古い質問によると:ウィンドウ階層に関する警告

回答に対応してコードを編集しましたが、それでもデバッガーでエラーが発生します。

警告: ウィンドウ階層にないビューで表示しようとしています!

それはまだ数回発生します。表示さMenuViewController れた後にメイン ビューを作成する方法はありMovieViewControllerますか? または、映画が終了/表示された後にそれを却下/削除します。

ご案内ありがとうございます。

4

2 に答える 2

0

この質問に答えるために、私はあなたが言うとき、

メインビュー

あなたはルートビューを意味します。

簡単な解決策は、アプリの起動時に、ビュー コントローラーのスタックを管理するナビゲーション コントローラーを作成することです。このナビゲーション コントローラーには、ルート コントローラーとして設定する必要がありますMenuViewController(これは、最初に読み込まれるビュー コントローラーである必要があります)。これは、戻りたいコントローラーです。が却下されると、 が表示されMovieViewControllerます。MenuViewControllerMovieViewControllerMenuViewController

余談ですが、一般的に、iOS プログラミングでスプラッシュ スクリーンを表示することはお勧めできません。スプラッシュ スクリーンは、アプリに関する情報を読み込んで表示している間、マスター ビューの表示を遅らせる以外に機能的価値のない画面です。

于 2012-10-21T15:47:08.123 に答える
-1

最初のView Controllerを作成し、MenuViewControllerロードされた直後に次のように呼び出すことができます:

[self presentModalViewController:MovieViewController animated:NO];

次に、画面から削除する場合は、次MovieViewControllerのように呼び出します。

[self dismissModalViewControllerAnimated:YES];

MovieViewController

于 2012-10-21T15:36:13.363 に答える