Как отобразить «Camera Roll» напрямую с помощью ImagePickerController - PullRequest
6 голосов
/ 21 октября 2011

Я хочу напрямую открыть альбом «Фотопленка» с помощью imagePickerController вместо отображения всех 3 альбомов (фотопленка, библиотека фотографий, последний импорт).

Есть ли способ сделать это?

Ответы [ 5 ]

2 голосов
/ 14 июня 2013

Используйте

imagePickerController.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;

Это приведет вас прямо к рулону камеры.

0 голосов
/ 23 июня 2017

Вы можете использовать этот код для прямого доступа

imagePickerController.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum

, но вам понадобится лучший пользовательский интерфейс

Попробуйте этот каркас, который дает и кулачок, и кулачок

https://github.com/hyperoslo/ImagePicker https://github.com/hyperoslo/Gallery

0 голосов
/ 17 июня 2017

использовать Photos Framework

@property(nonatomic , strong) PHFetchResult *assetsFetchResults;
     NSMutableArray *array;

    PHFetchOptions *fetchOptions = [[PHFetchOptions alloc] init];
    fetchOptions.predicate = [NSPredicate predicateWithFormat:@"title = %@", @"Custom Photo Album"];
    collection = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum
                                                          subtype:PHAssetCollectionSubtypeAny
                                                          options:fetchOptions].firstObject;

_assetsFetchResults = [PHAsset fetchAssetsInAssetCollection:collection options:nil];

Используйте приведенный выше код и поместите название своего альбома, данные которого вы хотите получить, вместо «Пользовательский фотоальбом»

PHFetchResult *collectionResult = [PHAsset fetchAssetsInAssetCollection:collection options:nil];
for (int h=0; h<[collectionResult count]; h++) {
    PHAsset *asset1 = collectionResult[h];   
    [_imageManager requestImageForAsset:asset1 targetSize:frame.size contentMode:PHImageContentModeAspectFill options:nil resultHandler:^(UIImage *result, NSDictionary *info)
     {
         [array2 addObject:result];
     }];
}
NSLog(@"array count%lu",(unsigned long)[array2 count]);

и используйте массив везде, где хотите отобразить все изображения альбомов

0 голосов
/ 16 июня 2017

Для достижения этой цели у вас есть только один способ.

Вы можете создать customImagePickerController и захватить отображение всех изображений с камеры в нем.

Для этого вы можете использовать collectionview

или же

https://github.com/rahulmane91/CustomAlbumDemo

Может это полезно для вас.

Спасибо и С уважением Нирав Залавадия

0 голосов
/ 30 ноября 2011

Это очень просто сделать ... Для примера кнопки ... Вы нажимаете на кнопку и затем пытаетесь использовать:

imgPicker.sourceType = UIImagePickerControllerSourceTypeCamera; 

Используя это, вы заставите контроллер использовать камеру. .

[self presentModalViewController:imgPicker animated:YES]; 

imgPicker здесь имя моего контроллера

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