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