UIActivityViewController 不显示“保存到相机胶卷”选项

Posted

技术标签:

【中文标题】UIActivityViewController 不显示“保存到相机胶卷”选项【英文标题】:UIActivityViewController not showing "save to camera roll" option 【发布时间】:2013-05-29 14:03:48 【问题描述】:

目前我列出了一个表格视图,其中包含从服务器填充的 jpg 图像。当我选择其中一个图像时,会显示 UIActivityController 但是没有保存到相机胶卷的选项。唯一的选择是分享到 facebook、twitter、邮件等。

我想要它,这样我就可以选择将图像保存到相机胶卷,还可以选择单击“查看”,它会在新的详细视图中显示它。我主要希望能够先保存到相机胶卷,然后再显示详细视图。

这是我目前的代码。

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView
                         dequeueReusableCellWithIdentifier:CellIdentifier];


NSString *path = [NSString stringWithFormat:@"http://10.1.4.2:8080/DCIM/DCIM/VIDEOS/%@", [movieArray objectAtIndex:indexPath.row]];
NSString *ext = [[path pathExtension] lowercaseString];

if([ext isEqualToString:@"jpg"]) 


    UIActivityViewController *objVC = [[UIActivityViewController alloc]initWithActivityItems:[NSArray arrayWithObjects:[NSURL URLWithString:path], nil] applicationActivities:nil];


    [self presentViewController:objVC animated:YES completion:nil];


【问题讨论】:

仅供参考。就我而言(XCode 13、ios 15),要在活动视图中显示“保存图像”选项,首先需要在 info.plist 中添加“隐私 - 照片库添加使用说明”。 【参考方案1】:

如果你想保存图片,你需要传入一个 UIImage 对象,而不是 NSURL 对象。请参阅this Stack Overflow answer 中的示例代码。

【讨论】:

图片对象来自一个 url。它不在本地存储在项目中。 @Aaron Brager @teejay 是的。您需要下载它。

以上是关于UIActivityViewController 不显示“保存到相机胶卷”选项的主要内容,如果未能解决你的问题,请参考以下文章

UIActivityViewController 背景颜色

UIActivityViewController 共享 UIActivity 未显示

UIActivityViewController 不适用于 WKWebView

限制 UIActivityViewController 共享扩展活动

尝试呈现 UIActivityViewController 时崩溃

更改 UIActivityViewController 的 navigationBar 的颜色