2

ユーザーがボタンを押したときにモーダルビュー(B)を表示するビューコントローラー(ビューA)があり、ビューB自体にビューCを表示するボタンがあります。私の問題は、ユーザーがビューBまたはCが表示され、次にアプリケーションを起動したときに同じビューが表示されます。終了時にビューBとCを閉じる方法、またはアプリケーションの起動時にビューAを表示する方法はありますか?ご協力いただきありがとうございます

4

1 に答える 1

6

私は、アプリケーションがバックグラウンドに入るときを意味すると思います。

アプリデリゲートでは、applicationDidEnterBackground:メソッドを使用してコントローラーを閉じることができます。

おそらく最良の方法は、ViewControllerクラスにオブザーバーを追加することです。

- (void) viewDidLoad {
    [super viewDidLoad];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appClosing) name:@"appClosing" object:nil];
}

- (void) dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self name:@"appClosing" object:nil];
    [super dealloc];
}

- (void) appClosing
{
    [self dismissModalViewControllerAnimated:YES];
}

そして、アプリの代理人に通知を投稿します。

- (void)applicationDidEnterBackground:(UIApplication *)application
{
     [[NSNotificationCenter defaultCenter] postNotificationName:@"appClosing" object:nil];
}
于 2010-08-16T08:38:35.640 に答える