关闭 UIActivityViewController 的衍生子视图

Dismiss spawned child views of UIActivityViewController

我正在使用 UIActivityViewController。当用户将我的应用程序发送到 iPhone 的后台时(当他们按下主页按钮等时),我需要删除生成的 UIActivityViewController 以及可能来自它的任何子项。这就是说,如果用户在 UIActivityViewController 上选择 "Mail" 或 "Message" 选项,我需要删除作为此操作的结果产生的视图(视图控制器?)。

我尝试了以下代码,发现它只删除了原始的 UIActivityViewController 和 none 它生成的其他视图。

[_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];
    }

}