如何在UIActivityViewController调用然后关闭后执行操作

Den*_*nov 9 ios uiactivityviewcontroller swift

我无法理解UIActivityViewController调用后如何执行操作.例如,当我使用以下代码保存图像时:

let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
let activity = UIActivityViewController(activityItems: [image], applicationActivities: nil)
presentViewController(activity, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

用户收到新窗口,可以在某处保存图像.成功保存图像后,我想执行一些操作(例如跳转到根视图控制器).但我无法弄清楚如何追踪这UIActivityViewController是关闭的.如果我在这个块之后编写代码,没有任何反应,正如我所理解的那样,因为这个代码是在活动VC中实现的,而不是在原始VC中实现的.

我认为这viewWillDisappear对我有帮助,但是它跟踪了原来的VC,我称之为活动VC,我无法弄清楚如何跟踪活动VC.与此同时,即使我有能力追踪此事件,仍然存在一个问题:除了取消之外,我怎么能有所不同?

小智 18

completionHadler在这种情况下,您可以使用a :

activity.completionWithItemsHandler = { activity, success, items, error in
    print("activity: \(activity), success: \(success), items: \(items), error: \(error)")
}
Run Code Online (Sandbox Code Playgroud)