ios - 检索 UIActivityViewController 保存的图像路径
问题描述
用户可以使用工作表将 UIImageView 上的图像保存到库中UIActivityViewController
,也可以将其分享或发布到社交媒体,如下所示:
如果用户选择“保存图像”,则 UIActivityViewController 无法返回保存的图像路径。它只会默默地保存和关闭。
我如何检索保存它的路径?我将存储访问已保存图像的路径并将它们显示在另一个视图中。非常感谢您的帮助。
编辑:下面是当用户点击共享按钮时我呈现 UIActivityViewController 的方式。
let imageShare = [ self.imageView.image ]
let activityViewController = UIActivityViewController(activityItems: imageShare as [Any] , applicationActivities: nil)
activityViewController.popoverPresentationController?.sourceView = self.view
activityViewController.popoverPresentationController?.sourceRect = self.shareButton.frame
self.present(activityViewController, animated: true, completion: nil)
解决方案
我认为问题是:既然你已经有了图像......你为什么要获得那条路径?
但是 - 您可以在完成中获得选定的“分享”活动UIActivityViewController
:
func shareImage(_ img: UIImage) -> Void {
let items = [img]
let activityViewController = UIActivityViewController(activityItems: items, applicationActivities: nil)
activityViewController.popoverPresentationController?.sourceView = self.view
activityViewController.popoverPresentationController?.sourceRect = self.shareButton.frame
activityViewController.completionWithItemsHandler = { (activityType: UIActivity.ActivityType?, completed:
Bool, arrayReturnedItems: [Any]?, error: Error?) in
if completed {
if let act = activityType {
switch act {
case .saveToCameraRoll:
print("Save Image was selected")
// do something here
// such as getting the asset reference?
// or getting the URL to the asset?
case .copyToPasteboard:
print("Copy was selected")
default:
print("Something else...")
}
}
} else {
print("Cancel was selected")
}
if let shareError = error {
print("error while sharing: \(shareError.localizedDescription)")
}
}
present(activityViewController, animated: true)
}
因此,根据您真正想要的内容,您可以轻松找到用于从相机胶卷(或其资产参考或 URL 等)中获取最近保存的图像的示例代码。
推荐阅读
- google-cloud-platform - BigQuery 传输服务:哪个文件导致错误?
- github-actions - 工作流文件应该位于哪个分支以便 GitHub Actions 执行它们?
- powershell - 你可以通过powershell删除另一个任务的windows任务吗?
- php - Laravel 身份验证获取错误的用户
- msbuild - MSBuild 未分配版本号
- python - python - 在使用Pyplot在Python中编码特定时间段后,如何更改绘图函数?
- python - 不知道为什么 SVM decision_function 和 predict_proba 结果不同
- php - 向表中添加多个条目
- python - 如何在 Selenium 中选择此下拉按钮?
- css - 使用 CSS 为按钮设置文件输入样式 -> 当没有标签直接相邻时