美文网首页
自定义图片选择器iOS

自定义图片选择器iOS

作者: wkw0913 | 来源:发表于2017-09-12 13:49 被阅读47次

    基于PHAsset封装的图片选择浏览器:
    1.获取所有图片资源信息:

    - (NSArray*)getImageAssetSArray{
    NSMutableArray*array = [[NSMutableArrayalloc]init];
    //获取资源时的参数,可以传 nil,即使用系统默认值
    PHFetchOptions *options = [[PHFetchOptionsalloc]init];
    //获取资源  fetchAssetsWithMediaType:所获取的资源类型 PHAssetMediaTypeImage(获取所有图片资源)
    PHFetchResult *fetchResult = [PHAssetfetchAssetsWithMediaType:PHAssetMediaTypeImageoptions:options];
    if([fetchResultcountOfAssetsWithMediaType:PHAssetMediaTypeImage] >0) {
    //遍历所有资源  并将资源每个图片资源信息存入数组
    [fetchResultenumerateObjectsUsingBlock:^(id_Nonnull obj,NSUIntegeridx,BOOL* _Nonnull stop) {
    PHAsset *asset = (PHAsset *)obj;
    [arrayaddObject:asset];
    }];
    }
    returnarray;
    }
    

    2.根据图片资源信息获取图片:

    - (UIImage *)OriginalImage:(PHAsset *)asset{
    __block UIImage *resultImage;
    PHImageRequestOptions *phImageRequestOptions = [[PHImageRequestOptionsalloc]init];
    phImageRequestOptions.synchronous=YES;
    [[PHImageManagerdefaultManager]requestImageForAsset:asset
    targetSize:PHImageManagerMaximumSize
    contentMode:PHImageContentModeDefault
    options:phImageRequestOptions
    resultHandler:^(UIImage *result,NSDictionary*info) {
    resultImage = result;
    NSLog(@"%@",result);
    }];
    returnresultImage;
    }
    

    3.设置图片选择item和全屏浏览模式的item。图片选择浏览器demo
    可直接拖入项目使用,使用方法如下:
    自定义照片选择器基于PHAsset 该实例代码在photos 中,外部存在的photosAsset无使用代码,photos内部存在的photosAsset为关键代码 1.使用相册时 主要调用代码如下(首先添加PhotosControllerDelegate):

    PhotosController *vc = [[PhotosController alloc] init];
    //    vc.title = @"相册";
    vc.delegate          = self;
    [self.navigationController pushViewController:vc animated:YES];
    

    2.PhotosControllerDelegate代理方法如下:

    (void)getImagesArray:(NSArray *)imagesArray {
    NSLog(@"图片:%ld",imagesArray.count);
    }
    

    在这个代理方法里,我们能够获取所选图片的image数组。

    相关文章

      网友评论

          本文标题:自定义图片选择器iOS

          本文链接:https://www.haomeiwen.com/subject/xedcsxtx.html