2

ストーリーボードとUINavigationController私のアプリを使用すると、多くのことができますUIViewControllers。イニシャルUIViewControllerはviewControllerという名前で、一種のホームページです。

UIViewControllerユーザーがアプリを離れて戻ってきた場合、私は常に、ユーザーが去る前の最後のビューではなく、常にホームページ () に戻ることを望んでいます。 で、 ??を使用してappDelegateホームページ ( UIViewController)を呼び出す/表示するにはどうすればよいですか?applicationDidBecomeActive:

4

4 に答える 4

6

アプリのルート ビュー コントローラーがナビゲーション コントローラーである場合、Marcin Kuptel が述べているように実行できます。これがコンテキストの解決策です。

 - (void)applicationDidBecomeActive:(UIApplication *)application;
 {
   UINavigationController *navController = (UINavigationController *)self.window.rootViewController;
   [navController popToRootViewControllerAnimated:NO];
 }
于 2013-05-15T12:15:48.630 に答える
2

これを使用できます:

[navigationController popToRootViewControllerAnimated: NO];
于 2013-05-15T12:11:49.780 に答える
1

applicationDidBecomeActive :は、バックグラウンドからフォアグラウンドへの遷移のためだけでなく、一時的な中断(電話や SMS メッセージの着信など) の後にアクティブ状態になるなど、いくつかの理由で呼び出すことができます。他の人が提案したコードをapplicationWillEnterForeground内に配置する方が良いと思います:

- (void)applicationWillEnterForeground:(UIApplication *)application
 {
   UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
   [navigationController popToRootViewControllerAnimated:NO];
 }
于 2013-05-15T12:36:31.807 に答える
1

チェックしてください。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil];
ViewController *lvc = [storyboard instantiateViewControllerWithIdentifier:@"viewController"];
self.window.rootViewController = lvc;

このコードを applicationDidBecomeActive メソッドに入れます。

于 2013-05-15T12:21:53.420 に答える