ios - 关闭 UIActivityViewController 的衍生 subview

标签 ios objective-c cocoa-touch uiviewcontroller uiactivityviewcontroller

我正在使用 UIActivityViewController。当用户将我的应用程序发送到 iPhone 的后台时(当他们按下主页按钮等时),我需要删除生成的 UIActivityViewController 以及可能来自它的任何子项。这就是说,如果用户在 UIActivityViewController 上选择“邮件”或“消息”选项,我需要删除作为此操作的结果生成的 View ( View Controller ?)。

我尝试了以下代码,发现它只删除了原始的 UIActivityViewController 而没有它生成的任何其他 View 。

[_myActivityController dismissViewControllerAnimated:NO completion:nil];

最佳答案

在您的 appDelegate applicationDidEnterBackground 中试试这个。关闭显示的最顶层 View Controller 。希望这会帮助你。

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

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

}

关于ios - 关闭 UIActivityViewController 的衍生 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36275189/

相关文章:

ios - iCloud 用于保存相当频繁的游戏状态更改

ios - 是否可以使用 Xcode 使游戏 Controller 振动?

ios - 无法同时满足分段控制中的约束

ios - 找不到 XCTest/XCTest.h 文件 XCode 5.1.1 iOS7

ios - Swiffy输出透明背景

objective-c - AVAssetReader 不读取整个文件?

ios - 如何访问公共(public)方法 objective-c 中的属性

ios - 在 Objective-C 中使用 Swift 类

ios - 使用两个不同的 XIB 查看 Controller ......棘手

iphone - cocoa Facebook 登录不工作