0

私のアプリでは、ホームボタンを押すと、アプリケーションをrootviewcontrollerログインクラスにポップします。さて、前のクラスでは、アラートビューが表示され、それを閉じずにホームボタンを押すと、問題が発生します。次回アプリアイコンをタップして前面に表示すると、ログイン画面が表示されますが、その上に前のクラスのアラートビューも表示されます。applicationDidEnterBackgroundのアラートビューを削除するにはどうすればよいですか?

4

2 に答える 2

3

表示された最後のアラートビューへのポインターを格納するだけのグローバル(AppDelegateプロパティまたはシングルトン)を用意します(完了したらクリアします)。ポインタがnil以外の場合は、DidEnterBackgroundまたはその他の場所でポインタを閉じます。

于 2012-11-30T13:09:20.387 に答える
1

UIApplicationWillResignActiveNotification、UIApplicationWillEnterForegroundNotificationを使用してこの問題を解決することもできます

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(resignActive)
                                             name:UIApplicationWillResignActiveNotification
                                           object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(enterForeground)
                                             name:UIApplicationWillEnterForegroundNotification
                                           object:nil];

resignActiveメソッドでは、alertviewsを削除できます...

于 2012-11-30T13:22:24.927 に答える