iPhone: сохранить изображение в определенный фотоальбом - PullRequest
2 голосов
/ 20 июня 2009

Приложение, над которым я работаю, манипулирует изображением для пользователя, и после того, как пользователь закончил, они могут сохранить эту фотографию. У меня нет проблем с захватом экрана и сохранением его (так как я хочу, чтобы некоторые метки были сохранены вместе с изображением), но этот вызов:

UIImageWriteToSavedPhotosAlbum ([self getScreenAsImage], ноль, ноль, ноль);

появляется только для того, чтобы я мог сохранить альбом «Сохраненные фотографии». В идеале я хотел бы создать альбом с именем приложения, над которым я работаю, и сохранить его там, чтобы они все хранились вместе (например, альбомы на Гавайях или выпускные в симуляторе). Также было бы неплохо запустить средство выбора изображений в этом конкретном альбоме. Кто-нибудь знает, как это сделать? Наиболее важной частью является возможность сохранить его в альбоме, а возможность запуска средства выбора в этом альбоме имеет второстепенное значение.

Ответы [ 3 ]

2 голосов
/ 25 апреля 2014

Есть способ сделать это, Apple просто не сделала это простым.

Существует пользовательская категория, которая добавляет функциональность в ALAssetsLibrary.

Git репо для категории можно найти здесь

и если вы используете 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];
0 голосов
/ 16 января 2013

Вы можете использовать ALAssetsLibrary для этого:

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];

[library saveImage:image toAlbum:@"Midhun" withCompletionBlock:^(NSError *error) {
        if (error!=nil) {
            NSLog(@"Error: %@", [error description]);
        }
    }];

Проверьте также этот учебник: Пользовательский фотоальбом

0 голосов
/ 20 июня 2009

Насколько я знаю, Apple не выставляла SDK для этого. После просмотра ссылки на функцию UIKit Мой страх кажется подтвержденным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...