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