2016-06-23 3 views
2

У меня возникла проблема с выбором изображения из библиотеки изображений в iPhone (iOS 8.4).Как запретить пользователю выбирать и обменивать изображения в одно и то же время из библиотеки изображений, чтобы он не переходил в режим просмотра?

Вот мой код:

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; 
    imagePicker.delegate = self; 
    imagePicker.allowsEditing = NO; 
    imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
    [self presentModalViewController:imagePicker animated:YES]; 

Но если выбрать изображение и поменять этот образ в то же время открывается вид редактирования, а затем при попытке удалить этот файл, мой сбой приложения ,

Является ли это функцией по умолчанию для библиотеки изображений? Или это может быть обработано кодом?

Пожалуйста, дайте мне знать. Заранее спасибо

ответ

0

Если вы могли бы попробовать

NSMutableArray *assetGroups = [[NSMutableArray alloc] init]; 
    void (^assetGroupEnumerator) (ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop) 
    { 
     if(group != nil) 
     { 
      [group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) 
      { 
       //ALAssetRepresentation holds all the information about the asset being accessed. 
       if(result) 
       { 
        ALAssetRepresentation *representation = [result defaultRepresentation]; 

        if (representation !=nil) 
        { 
         UIImage *PhotoThumbnail = [UIImage imageWithCGImage:[result thumbnail]]; 
         [fetchedThumbnails addObject:PhotoThumbnail]; 
         UIImage * latestPhoto = [UIImage imageWithCGImage:[result thumbnail]]; 
         [fetchedImages addObject:latestPhoto]; 
        } 
       } 
      }]; 
      [assetGroups addObject:group]; 
     } 

     galleryImagesCV.hidden=NO; 
     [galleryImagesCV reloadData]; 
    }; 

    assetGroups = [[NSMutableArray alloc] init]; 
    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; 
    NSUInteger groupTypes = ALAssetsGroupSavedPhotos; 

    [library enumerateGroupsWithTypes:groupTypes usingBlock:assetGroupEnumerator failureBlock:^(NSError *error) 
    { 
     NSLog(@"A problem occurred"); 
    }]; 

импорт AssetsLibrary/AssetsLibrary.h

Это даст вам все изображения из галереи в массивах. Вы можете показать это в пользовательском виде и выберите/своп и т.д.

Надеются, что это помогает

+0

спасибо так много, но я не хочу, чтобы настроить его с помощью другого вида. У меня возникла эта ошибка при попытке удалить это конкретное изображение. Не удалось сохранить контекст : Error Domain = NSCocoaErrorDomain Code = 134030 «Операция не может быть выполнена (ошибка Cocoa 134030.)» (null) (null) –

+0

Вы удаляете изображение из библиотеки с кодом Obj-C? – gurmandeep

+0

Да, я нашел эту ошибку вчера вечером. Я открываю UIImagePickerController для выбора изображения из библиотеки, и если я выберу это изображение и внезапно замените это изображение одновременно, изображение откроется в режиме редактирования (эта функция встроена в iOS), но я не хочу, чтобы эта функция в моем сценарии потому что, если я удалю это изображение с этого экрана, произойдет сбой приложения. Я прошел через эту ссылку - http://stackoverflow.com/questions/20270714/why-would-app-try-to-save-to-plsharedmanagedobjectcontext Но ничего не случится в моем случае. –

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