2014-09-05 25 views
0

在我的应用程序中,如果用户想要确认要约,我会给出提示。 现在我注意到,如果用户点击主页按钮,警报就会停留在那里&会让我的应用崩溃,如果他会输入任何东西。 当我转到后台模式时,如何删除警报(所有UIAlerts)?当应用程序转到后台时删除UIAlerts

亲切的问候,

格伦。

编辑1:

基本上我做了一个报价页。当用户点击确定时,我显示一个UIAlert用于额外的确认。 现在我还拥有这样的功能,即当用户关闭(主页按钮)时,应用程序&重新启动它,它将转到概述页面(所有产品都在此处),并向服务器请求数据(使数据达到-to再次。)。

通常,我的应用进入后台模式不会有问题。但随着刷新数据&去其他控制器的功能,它可能会出现问题。因此,我需要能够关闭所有仍处于活动状态的UIAlerts。

+0

从“商品页面” ......解除警报视图[theAlertView dismissWithClickedButtonIndex:0动画:是]; ..当你的应用程序进入背景 – TonyMkenu 2014-09-07 20:54:12

+0

&我怎样才能检查我的应用程序何时去背景?有没有一个特殊的突击队员做到这一点? – 2014-09-08 05:59:07

+0

有一个通知UIApplicationWillResignActiveNotification,当主按钮被按下时触发; http://stackoverflow.com/a/9012734/1702413 – TonyMkenu 2014-09-08 07:12:43

回答

0

你的应用程序崩溃不是因为UIAlerts,而是因为出现问题。即使您在显示UIAlert时将应用程序置于后台,警报也会保留在此处。

+0

是的,问题是,如果我回到我的应用程序,我会显示另一个控制器(并在那里刷新数据)。所以警报不再是gonne工作了==>使我的应用程序崩溃。 – 2014-09-05 09:29:02

0
- (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated; 

您可以在AppDelegate.m用这种方法使用它:

- (void)applicationDidEnterBackground:(UIApplication *)application 

Nikos M.是正确的:你应该找到和解决这个问题的根源,但不能掩饰它。有来显示警报,检查它,可能它会帮助一个简单的方法:

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Some message" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; 
[alertView show]; 
+0

好的。我会给出一个更好的解释。 – 2014-09-05 09:29:54

相关问题