iPhone:将图像保存到特定相册

标签 iphone cocoa-touch

我正在开发的应用程序为用户操作图像,用户完成后,他们可以保存该照片。我捕获屏幕并保存它没有问题(因为我希望一些标签与图像一起保存),但是这个调用:

UIImageWriteToSavedPhotosAlbum([self getScreenAsImage] , nil, nil, nil);

似乎只允许我保存到“已保存的照片”相册。理想情况下,我想创建一个以我正在开发的应用程序命名的相册并将其保存在那里,以便它们全部存储在一起(例如模拟器上的夏威夷或毕业日相册)。然后在该特定相册中启动图像选择器也很好。有人知道怎么做吗?最重要的部分是能够将其保存在相册中,能够在该相册中启动选择器是次要的。

最佳答案

有一种方法可以做到这一点,只是 Apple 没有让它变得简单。

有一个自定义类别可将功能添加到 ALAssetsLibrary。

Git 可以找到该类别的存储库 here

如果您使用 Cocoapods,您可以通过以下方式获取它

pod 'ALAssetsLibrary-CustomPhotoAlbum'

您需要实例化 ALAssetsLibrary 对象并调用下面的方法

- (void)saveImage:(UIImage *)image
      toAlbum:(NSString *)albumName
   completion:(ALAssetsLibraryWriteImageCompletionBlock)completion
      failure:(ALAssetsLibraryAccessFailureBlock)failure

类似下面的内容

导入:

#import "ALAssetsLibrary+CustomPhotoAlbum.h" //Source Included (Git)

#import <ALAssetsLibrary+CustomPhotoAlbum.h> //Cocoapods

调用:

ALAssetsLibrary *assetsLib = [[ALAssetsLibrary alloc] init];
[assetsLib saveImage:imageToSave
                      toAlbum:@"AlbumName"
                   completion:completionBlock
                      failure:failureBlock];

关于iPhone:将图像保存到特定相册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1021965/

相关文章:

iphone - 如何确定录音源

iphone - 设置不滚动指示器?

iphone - addObject 到 NSMutableArray 不起作用

iphone - 核心数据/NSFetchedResultsController错误

ios - 如何在 Swift 中更改 UIDatePicker 选定的颜色和字体而不是 Hacky?

iphone - 以编程方式在视网膜/高分辨率屏幕上进行屏幕捕获

iphone - UIViews-masked-off-area-still-touchable

iPhone - 是否可以在 UIWebView 中隐藏 native 滚动条?

javascript - 无法重现 TypeError : 'undefined' is not an object

cocoa-touch - UINavigationBar 自动调整大小