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可去所有图片。