アプリの外部でトリガーできるリセット通知があり、データが無効になったため、ユーザーが行っていたことはすべて終了してメイン画面に戻ります。現在、すべてのView Controllerにアンワインドセグエを配置する必要がありますが、この通知が発生するたびにグローバルPerformSegueWithIdentifierをプログラムで呼び出したいだけです。かなりの数のビュー コントローラーがあり、このコードをどこにでも複製する必要があるのは良くありません。新しいビュー コントローラーがプロジェクトに追加されると、メンテナンスの問題になります。これを行う簡単な方法はありますか?
質問する
227 次
1 に答える
2
セグエなしで特定のView Controllerにすばやく移動できます。ストーリーボードが 1 つある場合は、View Controller でこれを呼び出します。
self.view.window.rootViewController = [self.storyboard instantiateInitialViewController];
または、ストーリーボード ID でビュー コントローラーを初期化しない
self.view.window.rootViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"StoryboardID"];
アプリに複数のストーリーボードがある場合は、最初に特定のストーリーボードを取得する必要があります。
UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];
self.view.window.rootViewController = [storyboard instantiateInitialViewController];
コメントが言うように、ナビゲーション コントローラー コンテナーがある場合は、ルート ビュー コントローラーに切り替えるだけです。
[self.navigationController popToRootViewControllerAnimated:YES]
于 2015-02-04T07:21:29.987 に答える