在applicationDidEnterBackground中删除uialertview

时间:2012-11-30 13:04:19

标签: objective-c ios uialertview

在我的应用程序中,当我按下主页按钮时,我将应用程序弹出到rootviewcontroller登录类。现在,在上一课程中,如果有任何警报视图出现而没有解除它,我按下主页按钮,出现问题。下次我点击应用程序图标将其置于前台时,登录屏幕就在那里,但除此之外,之前的类警报视图也在那里。如何删除applicationDidEnterBackground上的alertviews?

2 个答案:

答案 0 :(得分:3)

拥有一个全局(AppDelegate属性或单例),您只需将指针存储到显示的最后一个警报视图(并在完成后清除它)。如果指针是非零的,则在DidEnterBackground或其中任何地方将其关闭。

答案 1 :(得分: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 ...