Получить все изображения с устройства и отобразить их в uicollectionview

#ios #objective-c #swift #pdf

#iOS #objective-c #uicollectionview

Вопрос:

Я хочу показать все изображения с устройства в моем приложении в uicollectionview. и хотите выбрать несколько изображений из uicollectionview. Я просмотрел несколько программ.ELCImagePickerController

но я не могу получить его правильно. пожалуйста, помогите мне … спасибо

эти ссылки работают нормально…Выбор нескольких изображений, но как я могу получить выбранные изображения в массив с помощью кнопки Готово.. выбранные изображения

Когда я нажимаю кнопку «Готово», изображение отображается в виде массива следующим образом….

 <UIImage: 0x7fca78772510>, {485, 303}
  

итак, как я могу получить это изображение в представлении моей коллекции.. помогите мне, ребята….

Комментарии:

1. ELCImagePickerController должно сработать. опубликуйте то, что вы сделали до сих пор, и мы можем попробовать это исправить.

2. смотрите ответ, который я добавил, я надеюсь, что ваша проблема решена. @bhavin ramani

Ответ №1:

Получить все изображения из галереи

Просмотреть файл заголовка контроллера (.h)..

 #import <UIKit/UIKit.h>
#include <AssetsLibrary/AssetsLibrary.h> 

@interface getPhotoLibViewController : UIViewController
{
 ALAssetsLibrary *library;
 NSArray *imageArray;
 NSMutableArray *mutableArray;
}

-(void)allPhotosCollected:(NSArray*)imgArray;

 @end
  

файл реализации

объявить глобальную переменную count как

 static int count=0;

@implementation getPhotoLibViewController

-(void)getAllPictures
{
 imageArray=[[NSArray alloc] init];
 mutableArray =[[NSMutableArray alloc]init];
 NSMutableArray* assetURLDictionaries = [[NSMutableArray alloc] init];

 library = [[ALAssetsLibrary alloc] init];

 void (^assetEnumerator)( ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop) {
  if(result != nil) {
   if([[result valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypePhoto]) {
    [assetURLDictionaries addObject:[result valueForProperty:ALAssetPropertyURLs]];

    NSURL *url= (NSURL*) [[result defaultRepresentation]url]; 

    [library assetForURL:url
             resultBlock:^(ALAsset *asset) {
              [mutableArray addObject:[UIImage imageWithCGImage:[[asset defaultRepresentation] fullScreenImage]]];

              if ([mutableArray count]==count)
              {
               imageArray=[[NSArray alloc] initWithArray:mutableArray];
               [self allPhotosCollected:imageArray];
              }
             }
            failureBlock:^(NSError *error){ NSLog(@"operation was not successfull!"); } ]; 

   } 
  }
 };

 NSMutableArray *assetGroups = [[NSMutableArray alloc] init];

 void (^ assetGroupEnumerator) ( ALAssetsGroup *, BOOL *)= ^(ALAssetsGroup *group, BOOL *stop) {
  if(group != nil) {
   [group enumerateAssetsUsingBlock:assetEnumerator];
   [assetGroups addObject:group];
   count=[group numberOfAssets];
  }
 };

 assetGroups = [[NSMutableArray alloc] init];

 [library enumerateGroupsWithTypes:ALAssetsGroupAll
                        usingBlock:assetGroupEnumerator
                      failureBlock:^(NSError *error) {NSLog(@"There is an error");}];
}

-(void)allPhotosCollected:(NSArray*)imgArray
{
 //write your code here after getting all the photos from library...
 NSLog(@"all pictures are %@",imgArray);
}

@end
  

Используйте метод getAllPicture для получения фотографий из библиотеки фотографий.

ИЛИ вы можете взглянуть на этот блог http://mutiselectimagepicker .blogspot.in/2014/08/imageselect-to-allow-multiple-selection.html

Комментарии:

1. Я попробовал эту ссылку, и она сработала … mutiselectimagepicker. blogspot.in/2014/08 /…