Ios 如何在目标C中显示另一个UIAlertController之前关闭显示的UIAlertController

Ios 如何在目标C中显示另一个UIAlertController之前关闭显示的UIAlertController,ios,objective-c,uialertcontroller,Ios,Objective C,Uialertcontroller,在演示新的UIAlertController之前,我想先关闭先前演示的UIAlertControllers。我需要从AppDelegate执行此操作。如何做到这一点。欢迎提供所有建议。您可以找到最上面显示的视图控制器,并检查它是否为UIAlertController。如果是,则可以对其调用dismissViewControllerAnimated:。所有这些都可以通过应用程序委派来完成。这应该会有所帮助,您可以将其扩展到所有视图控制器和视图的循环: [[UIApplication sharedA

在演示新的
UIAlertController
之前,我想先关闭先前演示的
UIAlertControllers
。我需要从
AppDelegate
执行此操作。如何做到这一点。欢迎提供所有建议。

您可以找到最上面显示的视图控制器,并检查它是否为
UIAlertController
。如果是,则可以对其调用
dismissViewControllerAnimated:
。所有这些都可以通过应用程序委派来完成。

这应该会有所帮助,您可以将其扩展到所有视图控制器和视图的循环:

[[UIApplication sharedApplication].keyWindow.rootViewController.view endEditing:YES];

这闻起来像是你在那里做意大利面代码,想澄清一下为什么会发生这种情况,需要在App Delegate中完成吗?但是如果你点击按钮,将异步调度到主线程并呈现一个新线程,你应该很好。嗯,每次有通知消息时,我都会呈现一个UIAlertController。我想在用户进入应用程序时通知他们。有时一次会有不止一个通知,而且无法确切地知道到底会有多少通知。单击每个UIAlertController上的按钮很麻烦。这与问题有什么关系?这是有效的:如果([[UIApplication sharedApplication].keyWindow.rootViewController是类:[UIAlertController类]]){[self.window.rootViewController DismissViewController Immated:是完成:无]; }