2016-04-22 5 views
0
PHImageManager *manager = [PHImageManager defaultManager]; 
for (PHAsset *asset in result) {   
    [manager requestImageForAsset:asset 
         targetSize:PHImageManagerMaximumSize 
         contentMode:PHImageContentModeDefault 
          options:requestOptions 
        resultHandler:^void(UIImage *image, NSDictionary *info) { 
         _profileImageView.image = image; 

         //[images addObject:_profileImageView]; 
        }];  
} 

его не работает для меняКак я могу загрузить изображение из библиотеки мультимедиа с использованием результатов UIImagePicker URL и PHAsset на IOS 9

+0

пасты Информации о requestOptions – kb920

+0

PHImageRequestOptions * requestOptions = [[PHImageRequestOptions Alloc] инициализация]; requestOptions.resizeMode = PHImageRequestOptionsResizeModeExact; requestOptions.deliveryMode = PHImageRequestOptionsDeliveryModeHighQualityFormat; requestOptions.synchronous = true; –

+0

add requestOptions.networkAccessAllowed = YES; и попробовать – kb920

ответ

0

Сначала сделайте requestoptions как,

self.requestOptions = [[PHImageRequestOptions alloc] init]; 
self.requestOptions.resizeMode = PHImageRequestOptionsResizeModeExact; 
self.requestOptions.deliveryMode = PHImageRequestOptionsDeliveryModeHighQualityFormat; 

// this one is key 
self.requestOptions.synchronous = true; 

и если есть несколько активов в массиве, заполненном объектами PHAsset, а затем добавить этот код:

self.assets = [NSMutableArray arrayWithArray:assets]; 
PHImageManager *manager = [PHImageManager defaultManager]; 
NSMutableArray *images = [NSMutableArray arrayWithCapacity:[assets count]]; 

// assets contains PHAsset objects. 
__block UIImage *ima; 

for (PHAsset *asset in self.assets) { 
// Do something with the asset 

[manager requestImageForAsset:asset 
        targetSize:PHImageManagerMaximumSize 
        contentMode:PHImageContentModeDefault 
         options:self.requestOptions 
       resultHandler:^void(UIImage *image, NSDictionary *info) { 
        ima = image; 

        [images addObject:ima]; 
       }]; 


} 

и теперь images содержит все изображения в формате uiimage.

Надеется, что это поможет :)