0

私のプロジェクトでは、次のナビゲーションコントローラーのチェーンがあります

Home controller -> Table View controller -> Page View Controller 

すべてのページが少なくとも 1 回表示された後、Page View Controller で、まったく別のビューである Quiz View に自動的に移動したいと考えています。

Quiz Controller-> Result Controller -> Another Quiz Controller-> Result controller -> Yet another quiz Controller -> Result Controller -> Back to Home Controller

3種類のクイズがあります。そして、3 つのクイズをすべて受けたら、家に帰りたいと思います。また、各結果コントローラーで、ホームに戻るオプションを提供したいと考えています。ホーム ビューに到達すると、新たに再起動する必要があります。

中間段階では、チェーンを介して戻りたくありません。つまり、中間コントローラーは必要ありません。では、この目的のためにどのセグエを使用する必要がありますか?

以前のすべてのView Controllerのスタックがあるため、プッシュセグエに反対しました。一連のナビゲーション コントローラーを停止して、新しいコントローラーを開始する方法はありますか?

また、モーダル ビューを使用する場合は、親ビューを使用して子ビューを閉じることをお勧めします。しかし、この場合、私は戻りたくない代わりに、このモーダル ビューから新しいナビゲーション コントローラー チェーンを開始したいと考えています。しかし、最後に直接ホームコントローラーに戻りたいです。

4

2 に答える 2

1

popToRootViewControllerAnimatedまたは_popToViewController:animated

popToRootViewControllerAnimated:ルートView Controllerを除くスタック上のすべてのView Controllerをポップし、表示を更新します。

popToViewController:animated:指定されたビュー コントローラがナビゲーション スタックの一番上に来るまで、ビュー コントローラをポップします。

popToViewController

if([[self.navigationController  viewControllers] containsObject:HomecontrollerObj])
{
    [self.navigationController popToViewController:HomecontrollerObj animated:animation];

}

家に帰る ,また使用する

[HomecontrollerObj.navigationController popViewControllerAnimated:NO];
[TableViewcontrollerObj.navigationController popViewControllerAnimated:NO];
[PageViewControllerObj.navigationController popViewControllerAnimated:NO];
于 2013-03-16T11:55:05.540 に答える
0

ストーリーボードの巻き戻し機能を使用することになりました。

ホームコントローラーにメソッドを実装してから、任意のソースコントローラーからそのメソッドにセグエを接続することでうまくいきました。

ストーリーボードセグエの巻き戻しに関するチュートリアル

于 2013-03-19T05:31:34.233 に答える