2013-07-18 2 views
0

Моя проблема действительно раздражает. Я создаю приложение, которое берет фотографии и должно сохранять их в пользовательской галерее. Я нашел пару учебников, как это сделать с AlAssetsLibrary, но есть одна, большая проблема ... Нет метода saveImage:toAlbum:withCompletionBlock:. Я использовал addAssetsGroupAlbumWithName:resultBlock:failureBlock: для создания пользовательского фотоальбома, но я не могу сохранить изображения в этой галерее! Я использую iOS 6 iPhone 4.Сохранение фотографий в пользовательской библиотеке

Любые идеи !?

+1

Вы проверили [это] (http://www.touch-code-magazine.com/ios5-saving-photos-in-custom-photo-album-category-for-download/)? – TheTiger

+0

Да, я видел это раньше, но смотрю на мой комментарий в @Vignesh ответить :) – cojoj

ответ

1

Метод, который вы упомянули в вопросе saveImage:toAlbum:withCompletionBlock, не является частью ALAssetsLibrary. Этот метод написан в ALAssetLibary's category. Вы должны импортировать категорию в свой класс, чтобы использовать этот метод.

Чтобы узнать больше о объективной категории C, ознакомьтесь с разработчиком reference.

+0

Спасибо! Я не понимал, что это категория ... Я искал сеть и отрывал свои волосы и наконец: D – cojoj

+0

У меня есть еще один вопрос. Можно ли изменить эту категорию, чтобы не сохранять эти фотографии в Camera Roll? Только пользовательский альбом. – cojoj

+0

@Cojoj. Добро пожаловать. Его невозможно. Все изображение будет сохранено в рулоне камеры. Вы не можете это прекратить. – Vignesh

0

Если вы используете AssetsLibrary вы можете написать этот код

- (void) actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    UIImagePickerController *imagePicker; 

    if (buttonIndex < 2)  
    {   
        self.library = [[[ALAssetsLibrary alloc] init] autorelease]; 
         
        self.imageEditor = [[[DemoImageEditor alloc] initWithNibName:@"DemoImageEditor" bundle:nil] autorelease]; 
         
        self.imageEditor.doneCallback = ^(UIImage *editedImage, BOOL canceled){ 

            if(!canceled) 
            { 
                anotherImage = true; 
                 
                NSString *imageName; 
                
                imageName [email protected]"Abc.jpg"; 
                 
                UIImageWriteToSavedPhotosAlbum(editedImage, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);  

                editedImage = [self scaleImage:editedImage toSize:CGSizeMake(600,600)]; 

                 [[NSUserDefaults standardUserDefaults] setObject:UIImagePNGRepresentation(editedImage)forKey:@"image"]; 

} 

- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo 
{ 
    UIAlertView *alert; 
     
       if (error) 

        alert = [[UIAlertView alloc] initWithTitle:@"Error"  
                                           message:@"Unable to save image to Photo Album."  
                                          delegate:self cancelButtonTitle:@"Ok"  
                                 otherButtonTitles:nil]; 

    else  

        alert = [[UIAlertView alloc] initWithTitle:@"Success"  
                                           message:@"Image saved to Photo Album."  
                                          delegate:self cancelButtonTitle:@"Ok"  
                                 otherButtonTitles:nil]; 

    [alert release]; 
} 

Это будет решать ваш случай.

Смежные вопросы