我正在使用UIActivityViewController。当用户将我的应用程序发送到iPhone上的后台时(当他们按下主屏幕按钮等时),我需要删除生成的UIActivityViewController以及可能来自它的所有子项。这就是说,如果用户在UIActivityViewController上选择“邮件”或“消息”选项,则需要删除由于此操作而产生的视图(视图控制器?)。
我尝试了以下代码,发现它仅删除了原始的UIActivityViewController,并且没有生成任何其他视图。
[_myActivityController dismissViewControllerAnimated:NO completion:nil];
最佳答案
在您的appDelegate applicationDidEnterBackground中尝试此操作。关闭显示的最顶部的视图控制器。希望这对您有所帮助。
- (void)applicationDidEnterBackground:(UIApplication *)application {
UIViewController *mytopController = [UIApplication sharedApplication].keyWindow.rootViewController;
while (mytopController.presentedViewController)
{
mytopController = mytopController.presentedViewController;
[mytopController dismissViewControllerAnimated:NO completion:nil];
}
}