[英]Save a photo to a folder in photo library
So I know that using the following saves an image to the general camera roll: 所以我知道使用以下内容将图像保存到普通相机胶卷:
UIImage *image = imageView.image;
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
But what I want to do is save the photos to a specifically named folder in my photo library. 但我想要做的是将照片保存到我照片库中的特定命名文件夹中。 For instance, any photo I take with Instagram is saved to an Instagram folder in my library. 例如,我用Instagram拍摄的任何照片都会保存到我图书馆的Instagram文件夹中。 This also works for snapchat. 这也适用于Snapchat。
First you need to create a folder: 首先,您需要创建一个文件夹:
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library addAssetsGroupAlbumWithName:folderName
resultBlock:^(ALAssetsGroup *group)
{
NSLog(@"Added folder:%@", folderName);
}
failureBlock:^(NSError *error)
{
NSLog(@"Error adding folder");
}];
Then, find the folder: 然后,找到该文件夹:
__block ALAssetsGroup* folder;
[library enumerateGroupsWithTypes:ALAssetsGroupAlbum
usingBlock:^(ALAssetsGroup *group, BOOL *stop)
{
if ([[group valueForProperty:ALAssetsGroupPropertyName] isEqualToString:folderName])
{
folder = group;
}
}
failureBlock:^(NSError* error)
{
// Error handling.
}];
And add your photo to it. 并将您的照片添加到它。
Save the Image to Asset Library, and put it into the album: 将图像保存到资源库,并将其放入相册:
[library writeImageToSavedPhotosAlbum:yourImage
metadata:[info objectForKey:UIImagePickerControllerMediaMetadata]
completionBlock:^(NSURL* assetURL, NSError* error)
{
if (error.code == 0)
{
// Get the asset
[library assetForURL:assetURL
resultBlock:^(ALAsset *asset)
{
// Assign the photo to the album
[folder addAsset:asset];
}
failureBlock:^(NSError* error)
{
// Error handling.
}];
}
else
{
// Error handling.
}
}];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.