C# 当应用程序转到后台时删除UIAlerts

C# 当应用程序转到后台时删除UIAlerts,c#,ios,xamarin,uialertview,C#,Ios,Xamarin,Uialertview,在我的应用程序中,如果用户想确认报价与否,我会发出警报。 现在我注意到,如果用户点击home(主页)按钮,警报就会保持在那里&如果他输入任何内容,我的应用程序就会崩溃。 当我进入后台模式时,如何删除警报(所有UIAlerts) 亲切问候, 格伦 编辑1: 基本上我有一个报价页面。当用户单击OK时,我将显示一个UIAlert以进行额外确认。 现在,我还有一个功能,当用户关闭(主页按钮)应用程序并重新启动它时,它将进入概览页面(所有产品都在这里),并向服务器请求数据(使数据再次更新) 通常情况下,我

在我的应用程序中,如果用户想确认报价与否,我会发出警报。 现在我注意到,如果用户点击home(主页)按钮,警报就会保持在那里&如果他输入任何内容,我的应用程序就会崩溃。 当我进入后台模式时,如何删除警报(所有UIAlerts)

亲切问候,

格伦

编辑1:

基本上我有一个报价页面。当用户单击OK时,我将显示一个UIAlert以进行额外确认。 现在,我还有一个功能,当用户关闭(主页按钮)应用程序并重新启动它时,它将进入概览页面(所有产品都在这里),并向服务器请求数据(使数据再次更新)


通常情况下,我的应用程序进入后台模式不会有问题。但是,由于具有刷新数据的功能&将数据发送到另一个控制器,可能会出现问题。因此,我需要能够关闭所有仍处于活动状态的UIAlerts。

您的应用程序崩溃不是因为UIAlerts,而是因为出现了问题。即使在显示UIAlert时将应用程序放在后台,该警报也会保留在那里

- (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated;
您可以在AppDelegate.m中使用此方法:

- (void)applicationDidEnterBackground:(UIApplication *)application
但这是正确的:你应该找到并解决这个问题的根源,但不能掩盖它。有一种最简单的方式来显示警报,检查它,可能会有所帮助:

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

是的,问题是,如果我回到我的应用程序,我会显示另一个控制器(并刷新那里的数据)。所以警报不再有效==>使我的应用程序崩溃。是的。我会给出更好的解释。从“报价页”…关闭警报视图[theAlertView Dismisswith Clicked Button索引:0动画:是];…当你的应用程序进入后台时&我如何检查我的应用程序何时进入后台?是否有专门的突击队来执行此操作?当按下home按钮时,会触发一个通知UIApplicationWillResignActivityNotification;你也可以尝试…在ViewDidEnglish或ViewWillEnglish中关闭警报确定我现在正在做的事情。我制作了一个静态UIAlertView,当我的应用程序进入后台(在AppDelegate.cs中)时,我会用ClickedButton将其删除,以便澄清这一点!;)