解除UIActivityViewController的衍生子视图

时间:2016-03-29 04:01:24

标签: ios objective-c cocoa-touch uiviewcontroller uiactivityviewcontroller

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

我尝试了以下代码,发现它只删除了原始的UIActivityViewController,并且没有产生任何其他视图。

[_myActivityController dismissViewControllerAnimated:NO completion:nil];

1 个答案:

答案 0 :(得分:1)

在appDelegate applicationDidEnterBackground中尝试此操作。关闭显示的最顶层视图控制器。希望这会帮助你。

- (void)applicationDidEnterBackground:(UIApplication *)application {

    UIViewController *mytopController = [UIApplication sharedApplication].keyWindow.rootViewController;
    while (mytopController.presentedViewController)
    {
        mytopController = mytopController.presentedViewController;
        [mytopController dismissViewControllerAnimated:NO completion:nil];
    }

}