PHAsset心得

iOS8下获取相册图片,苹果提供了photo.framework的框架,主要用到了PHAsset,PHFetchOptions,PHFetchResult,PHCachingImageManager这几个类。

1、添加框架

#import

2、获取图片索引

PHFetchOptions * fetchOptions = [[PHFetchOptions alloc] init];

PHFetchResult * fetchResult =[PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:fetchOptions];

if ([fetchResult countOfAssetsWithMediaType:PHAssetMediaTypeImage]>0) {

_fetchResult =fetchResult;

}

_fetchResult为类的成员变量

3、遍历获取图片

[_fetchResult numerateObjectsUsingBlock:^(PHAsset *asset, NSUInteger idx, BOOL * _Nonnull stop){

[assetArray addObject:asset];

}];

assetArray为保存图片数组(包含图片的各类信息,如大小、创建时间、地点等)

4、取图片

PHCachingImageManager *imageManager = [[PHCachingImageManager alloc] init];

[imageManager requestImageForAsset:asset

targetSize:CGSizeMake(320, 320)

contentMode:PHImageContentModeAspectFit

options:nil

resultHandler:^(UIImage *result, NSDictionary *info) {

NSLog(@"width:%f height:%f",result.size.width,result.size.height);

}];

遍历assetArray可去所有图片。

你可能感兴趣的:(PHAsset心得)